得到图像实际大小JS/Jquery

Mor*_*hen 0 javascript jquery image

可能重复:
确定图像跨浏览器的原始大小?
jquery获取图像大小

谁能告诉我如何使用JS/JQ获得图像的真实大小?谢谢 !从这个网站尝试了很多解决方案但没有成功......

var selector = $(".album_pics > img[id="+img_id+"]") ;
var old_width = selector.width() ;
Run Code Online (Sandbox Code Playgroud)

不起作用..

Dav*_*mas 9

您可以使用该naturalWidth属性:

var img = document.getElementById('imageToTest'), // or whatever...
    width = img.naturalWidth;
Run Code Online (Sandbox Code Playgroud)

JS小提琴演示.

当然,这确实要求在执行JavaScript之前图像有时间加载(因此,在jQuery中,使用该$(window).load()方法).它也是HTML5(我直到现在检查才知道).

顺便说一下,正如名字所暗示的那样,也naturalHeight有财产(如果这是有用的).

更新以添加稍微更具功能性的方法:

function showNaturalInfo(el) {
    if (!el || el.tagName.toLowerCase() !== 'img') {
        return false;
    }
    else {
        var w = el.naturalWidth,
            h = el.naturalHeight,
            D = document,
            details = D.createElement('span'),
            detailsText = D.createTextNode('Natural width: ' + w + 'px; natural height: ' + h + 'px.');
        details.appendChild(detailsText);
        el.title = 'Natural width: ' + w + 'px; natural height: ' + h + 'px.';
        el.parentNode.insertBefore(details, el.nextSibling);
    }
}

var imgs = document.getElementsByTagName('img');

for (var i = 0, len = imgs.length; i < len; i++) {
    showNaturalInfo(imgs[i]);
}?
Run Code Online (Sandbox Code Playgroud)

JS小提琴演示.

参考文献:

  • 对于投票,我有点好奇.我知道他们偶尔会有些随意,但要知道我是否有人提出错误,或者对某人来说是非常无用的,这真是太好了.叹气...... = / (2认同)