2011-11-12 70 views
0

下面是一些缩略图页面:什么原因导致这种奇怪的闪烁在我的jQuery .fadeTo()效果?

http://thenozzle.net/games

我想要的是,当你在绳拉一个缩略图,其他人变成黑色(有一个黑色的div每个拇指后面)。悬停,然后他们回来。

问题是,当你从一个缩略图到另一个缩略图时,页面上的所有其他缩略图都会淡入,然后非常快地出现。我怎样才能防止这一点?有没有更好的方法去做我想要完成的事情?

这是我到目前为止有:

$('.child-thumb').hover(
    function() { 
     $(this).addClass('active').removeClass('inactive'); 
     $('.inactive').children('img').stop(1,1).fadeTo('fast', .3); 
      $('.inactive').children('p').stop(1,1).fadeTo('fast', .3); 
    }, 
    function() { 
     $('.inactive').children('img').stop(1,1).fadeTo('fast', 1); 
      $('.inactive').children('p').stop(1,1).fadeTo('fast', 1); 
     $(this).removeClass('active').addClass('inactive'); 
    } 
); 

注2:另外,如果有什么办法可以简化或压缩我的代码,使其更语义/快/更轻,请让我知道。

谢谢!

+0

注:'.stop()'需要布尔参数,而不是1或0。虽然你可能逃脱它,因为这里的自动类型转换,正确使用停止的是通过它是真/假,而不是1/0。 – jfriend00

回答

2

您正在使用.stop()不正确。你可以在这里需要的唯一参数是[clearqueue] =真(这就是只有当你担心你的用户在进行下.3s两个开关)

只设置了所有的解数.stop(true)

例如:

$('.inactive').children('img').stop(true).fadeTo('fast', .3); 

jsfiddle

+0

哦,谢谢你,更容易然后我想。 – alt

相关问题