Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取图像真实大小JS/Jquery_Javascript_Jquery_Image - Fatal编程技术网

Javascript 获取图像真实大小JS/Jquery

Javascript 获取图像真实大小JS/Jquery,javascript,jquery,image,Javascript,Jquery,Image,可能重复: 有人能告诉我如何使用JS/JQ获得图像的真实大小吗? 谢谢! 从这个站点尝试了很多解决方案,但是没有成功 var selector = $(".album_pics > img[id="+img_id+"]") ; var old_width = selector.width() ; 不工作..您可以使用自然宽度属性: var img = document.getElementById('imageToTest'), // or whatever... width

可能重复:

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

var selector = $(".album_pics > img[id="+img_id+"]") ;
var old_width = selector.width() ;

不工作..

您可以使用
自然宽度属性:

var img = document.getElementById('imageToTest'), // or whatever...
    width = img.naturalWidth;

当然,这需要在执行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]);
}​
函数showNaturalInfo(el){
如果(!el | | el.tagName.toLowerCase()!=='img'){
返回false;
}
否则{
var w=el.自然宽度,
h=el.自然高度,
D=文件,
详细信息=D.createElement('span'),
detailsText=D.createTextNode('自然宽度:'+w+'px;自然高度:'+h+'px');
details.appendChild(detailsText);
el.title=‘自然宽度:’+w+’px;自然高度:’+h+‘px’;
el.parentNode.insertBefore(详细信息,el.nextSibling);
}
}
var imgs=document.getElementsByTagName('img');
对于(变量i=0,len=imgs.length;i

参考资料:


我对否决票有点好奇。我知道它们有时是随机的,但如果知道我的建议是错误的,还是对某人毫无用处,那就太好了。叹息=/