2010-08-12 80 views
1

問題:當頁面在FF 3.6中運行時,fadeIn不會顯示,直到您循環顯示畫廊之後纔會顯示。我怎樣才能解決這個問題?jquery fade在FF中沒有第一次工作。爲什麼?

jQuery代碼

$(document).ready(function() { 
     $("#gallerylinks a").each(function(index){ 
     $(this).click(function(){ 
      $(".gallerymain").hide(); 
      $("#gal"+index).fadeIn(); 
     }); 
     }); 
    }); 

HTML代碼

<table width="960" border="0" cellspacing="0" cellpadding="0" id="gallerylinks"> 
     <tr> 
     <td><a href="#"><img src="images/somename1.jpg" width="240" height="186" /></a></td> 
     <td><a href="#"><img src="images/somename2.jpg" width="240" height="186" /></a></td> 
     <td><a href="#"><img src="images/somename3.jpg" width="240" height="186" /></a></td> 
     <td><a href="#"><img src="images/somename4.jpg" width="240" height="186" /></a></td> 
     </tr> 
    </table> 

回答

4

淡入將無法正常工作,因爲圖像不加載了第一輪,而不是這樣的:

$(document).ready(function() { 

這樣做:

$(window).load(function() { 

不同的是,要加載window.onload等待圖像,所以代碼運行之前......即使第一次:)

或者他們會在那裏,你可以預先加載時加載圖像畫廊,這裏有manyoptionsoutthere

+0

輝煌!非常感謝你。 – Wen 2010-08-12 22:08:58

+0

@ vendy-dah-vindow-viper - Welcome :)如果答案已解決,請確保通過左邊的複選標記並將答案標記爲已接受:) – 2010-08-12 22:20:31

0

你應該試試這個:

$(window).load(function(){ 
    $('#gallerylinks a').click(function(){ 
    $(".gallerymain").hide(); 
    $("#gal"+index).fadeIn('fast'); 
    }); 
}); 
+0

沒有像這樣的直接孩子,'

'不能有任何''孩子...所以這不會綁定到任何元素:) – 2010-08-12 22:08:53

+0

你是絕對正確的。我更新了代碼並刪除了「>」子選擇器。上面的源代碼中沒有必要額外增加性能。 – 2010-08-13 15:45:02

相關問題