设置变量不适用于页面加载,但是通过控制台吗?

时间:2013-05-02 18:06:10

标签: javascript jquery console.log

我一定错过了什么。我的脚本如下:

var slideshowUL = jQuery('div.slideshow').css('overflow', 'hidden').children('ul'),
    imgs = slideshowUL.find('img'),
    imgWidth = imgs[0].width,
    imgsLen = imgs.length,
    current = 0;

    console.log(slideshowUL);
    console.log(imgs);
    console.log(imgWidth);
    console.log(imgsLen);
    console.log(current);

输出结果为:

[ul, prevObject: p.fn.p.init[1], context: document, selector: "div.slideshow.children(ul)", constructor: function, init: function…]
[img, img, img, img, prevObject: p.fn.p.init[1], context: document, selector: "div.slideshow.children(ul) img", constructor: function, init: function…]
0
4
0 

没有获得图像的宽度。当我将上面的代码DIRECTLY粘贴到控制台时,它会返回正确的值(750)。

2 个答案:

答案 0 :(得分:2)

宽度为零表示您在加载图像之前读取值。在窗口onload上调用它,而不是就绪/内联。

答案 1 :(得分:0)

图片尚未加载。你必须在加载图像时询问宽度。