3

メニュー項目としてリスト項目を含む単純な順序付けられていないリストがあります。面白いロールオーバー効果を得るためにjqueryを作成しました。

$('#nav ul ul li').hover(function(){
$(this).animate({ 
        marginLeft: "20px",
      }, 300 );
}, function(){
$(this).animate({ 
        marginLeft: "0px",
      }, 300 );
});

このスクリプトの問題は、メニューを何度も急いで実行すると、アニメーションキューが作成されることです。間に.stop()を使用しようとしましたが、他のリストアイテムからのアニメーションも停止し、どのような場合でもデフォルトの状態に戻るはずです。アイテムごとにキューをstop()する方法はありますか?しかし、リスト全体ではありませんか?

4

1 に答える 1

3

$(this).stop() .animate(...)が機能しない理由はわかりませんが、このアプローチを試すこともできます。

$(":not(:animated)", this).animate(...)

これは、現在アニメーション化されていない要素でのみアニメーションをトリガーします

于 2009-05-19T12:39:40.650 に答える