我正在使用Jquery获取图像的宽度,一旦它附加到正文。看看this fiddle,了解我正在做的事情。
我想要做的是添加具有约束高度的每个元素,并在缩放后读取相应宽度的一次。你会看到的问题是console.log给了我宽度值0。
答案 0 :(得分:4)
使用jQuery .load()
函数在图像加载后进行所有计算:
var number = 0;
$(document).ready(function(){
setInterval(function(){
console.log();
$('.container').prepend(
$('<img/>').attr({
src: "http://www.upress.umn.edu/book-division/images-1/other images/blockc.gif/image_thumb"
id:'img' + (number++)
}).load(function(){
console.log($(this).width())
})
},3000);
});
答案 1 :(得分:1)
在图像完全下载之前,“读取”宽度。
所以,我们使用相同的概念,但在img load事件被触发后应用它:
$('#img' + String(number)).load(function() {
console.log($(this).width());
});
答案 2 :(得分:1)
var number = 0;
$(document).ready(function(){
setInterval(function(){
console.log();
$('.container').prepend($('<img '
+ 'id="img'+number+'"src="http://www.upress.umn.edu/'
+ 'book-division/images-1/other-'
+ 'images/blockc.gif/image_thumb">').load(function() {
console.log($(this).width());
}));
number++;
}, 3000);
});