2013-05-02 6 views
0

Мне что-то не хватает. Мой сценарий выглядит следующим образом:Установка переменных не работает на загрузке страницы, но через консоль?

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

Ширина нуля означает, что вы читаете значение перед загрузкой изображений. Позвоните в окно onload и не готовы/inline.

+0

'$ (window) .load (function() {...});' – epascarello

0

изображение еще не загружено. вы должны задать ширину при загрузке изображения.

Смежные вопросы