2011-11-17 30 views
2

對社區不熟悉時不起作用。確定加載jquery的元素的大小。當點擊返回按鈕

我在我的一頁上有幻燈片。這些圖像的高度不同,所以我寫了這一點:

$(document).ready(function(){ 
    $('.pslider img:first').load(function(){   
    var firstImg = $('.pslider img:eq(0)').height();  
    $('.pslider').css({"height":firstImg}); 
}); 

//other code 
}); 

至於我可以告訴大家,這意味着jQuery將等到withing我.pslider第一img元素被加載。然後它將獲得img高度並將.pslider高度設置爲該值。我使用serialscroll來使用onbefore選項來管理類高度的變化。它完美地工作。

這適用於正常點擊頁面。但是,如果我點擊頁面,然後轉到另一個頁面,然後按後退按鈕,它不會執行。沒有獲得高度值。

我試過window.onload(){}但同樣的事情發生。

我正在使用1.6.2

任何想法?

+1

好問題 - 看到這個SO用戶帳戶緩存圖像在這種情況下。 http://stackoverflow.com/questions/7587714/image-does-not-have-width-at-document-ready/7587748#7587748 – mrtsherman

+0

嘗試使用服務器端語言追加?seed = RANDOMNUMBER到圖像的末尾路徑與頁面的每個負載,以便它不緩存圖像? –

+0

謝謝你們。在@mrtsherman鏈接的那個線索中找到了答案。它是window.load而不是window.onload。我對js是新手,但無論它做了什麼,它都能奏效。 – user1050965

回答

0

我有同樣的問題,不得不在負載函數內使用這個變量。

var firstImg = this.height; 

您可能還需要更新選擇器。

相關問題