2011-11-12 14 views
0

は、いくつかのサムネイルのページです:jQueryの.fadeTo()エフェクトでこの奇妙な点滅が発生する原因は何ですか?ここ

http://thenozzle.net/games

私が欲しいあなたは1つのサムネイルの上ホーブとき、他の人が(各親指の後ろに黒いdiv要素があります)黒にフェードです。手を離して戻ってくる。

1つのサムネイルから次のサムネイルに移動すると、ページ上の他のすべてのサムネイルがフェードインしてから非常に素早く消えてしまうという問題があります。どうすればこれを防ぐことができますか?私が達成しようとしていることをするためのより良い方法はありますか?

は、ここで私がこれまで持っているものです。

$('.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に2つのスイッチを作るユーザー心配している場合にのみです)

だけ.stop(true)

などにすべてのあなたのストップを設定します。

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

jsfiddle

+0

ああ、ありがとう、簡単に思った。 – alt

関連する問題