Jquery fade在FF中没有第一次工作。为什么?

时间:2010-08-12 22:02:11

标签: jquery jquery-plugins

问题:当页面在FF 3.6中运行时,fadeIn不显示,直到你在画廊中循环,然后它才有效。我怎样才能解决这个问题?

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>

2 个答案:

答案 0 :(得分:4)

淡入淡出将无法正常工作,因为图像未在第一轮加载,而不是:

$(document).ready(function() {

这样做:

$(window).load(function() {

区别在于window.onload等待加载图像,所以它们会在代码运行之前就在那里......即使是第一次:)

或者,您可以在加载图库时预先加载图片,为此many options out there

答案 1 :(得分:0)

你应该试试这个:

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