是什么导致我的jQuery .fadeTo()效果出现这种奇怪的闪烁?

时间:2011-11-12 03:43:05

标签: 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:另外,如果有任何方法可以简化或压缩我的代码以使其更加语义/更快/更轻,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:2)

您未正确使用.stop()。这里你唯一需要的参数是[clearqueue] = true(仅当你担心你的用户在.3s下制作两个开关时才会这样做)

只需将所有停靠点设置为.stop(true)

即可

例如:

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

jsfiddle