我试图找到" true"使用以下代码的图像宽度:
$(document).ready(function( ) {
$('.pageContent img').each(function(){
var theImage = new Image();
theImage.src = $(this).attr("src");
var imageWidth = theImage.width;
console.log(imageWidth);
}
}
我遇到的问题是每次重新加载页面时结果都不同。有些imageWidth是0.请知道为什么会这样呢?
这是使用Jquery 1.9.1和Chrome。
感谢。
答案 0 :(得分:3)
Some imageWidth are 0.
原因是你在渲染到DOM之前计算宽度。
使用onLoad
方法。因此,您将获得确切的图片,因为它已添加到DOM
$(window).load(function( ) {
----------calculations goes here
}
答案 1 :(得分:1)
尝试使用window.load(在加载所有图片后调用回调)
$(window).load(function( ) {
$('.pageContent img').each(function(){
var theImage = new Image();
theImage.src = $(this).attr("src");
var imageWidth = theImage.width;
console.log(imageWidth);
}
}