2010-08-12 101 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

相关问题