0

サムネイルのあるページは次のとおりです。

http://thenozzle.net/games

私が欲しいのは、1つのサムネイルにカーソルを合わせると、他のサムネイルが黒にフェードすることです(各親指の後ろに黒い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:また、コードを単純化または圧縮して、よりセマンティック/高速/軽量にする方法がある場合は、お知らせください。

ありがとう!

4

1 に答える 1

2

.stop()を不適切に使用しています。ここで必要になる可能性がある唯一のパラメーターは、[clearqueue] = trueです(これは、ユーザーが.3s未満で2つのスイッチを作成することを心配している場合のみです)

すべてのストップをに設定するだけです.stop(true)

例えば:

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

jsfiddle

于 2011-11-12T04:01:56.920 に答える