从缩放图像中获取宽度

时间:2012-03-06 01:49:14

标签: javascript jquery width image

我正在使用Jquery获取图像的宽度,一旦它附加到正文。看看this fiddle,了解我正在做的事情。

我想要做的是添加具有约束高度的每个元素,并在缩放后读取相应宽度的一次。你会看到的问题是console.log给了我宽度值0。

3 个答案:

答案 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)

http://jsfiddle.net/w7rcn/

在图像完全下载之前,“读取”宽度。

所以,我们使用相同的概念,但在img load事件被触发后应用它:

 $('#img' + String(number)).load(function() {
            console.log($(this).width());
        });

答案 2 :(得分:1)

Mohsen和Justice是对的。但是,您仍然可以简化一下:

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);
});​