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
参考资料:
我对否决票有点好奇。我知道它们有时是随机的,但如果知道我的建议是错误的,还是对某人毫无用处,那就太好了。叹息=/