1

そのため、div にカーソルを合わせると、複数のイベントの発生を停止したいと考えています。これは私のコードです。

$( "#menu" ).hover(
  function() {
    $("#menu").fadeTo("slow",0.8);
  },
  function() {      
    $("#menu").fadeTo("slow",0);
   }
);

私は試してみましたがstop()stopPropagation()成功しませんでした。おそらく、それらを適切に使用していませんでした。

fadeTo()最初のものだけを実行し、アニメーション中にユーザーがトリガーする可能性のあるすべてのイベントを破棄します。アニメーション div の後、再び「ホバー可能」になるはずです。

4

2 に答える 2

2

引数.stop()付きの jQuery 関数を使用します。true, false

$( "#menu" ).hover(
  function() {
     $("#menu").stop(true, false).fadeTo("slow",0.8);
  },
  function() {        
     $("#menu").stop(true, false).fadeTo("slow",0);
  }
);

.stop( [clearQueue ] [, jumpToEnd ] )

一致した要素で現在実行中のアニメーションを停止します。[続きを読む]

そのため、clearQueqe は実行されますが、最後までジャンプしません。

JSFIDDLE

于 2013-07-25T06:47:57.013 に答える
0

で試しstop()ましたtrue, trueか?

$("#menu").stop(true, true).fadeTo("slow",0.8);
于 2013-07-25T06:35:09.473 に答える