0

以下にこのjqueryコードがありますが、問題は、トリガー要素をすばやくスクロールしてメニューから外すと、それが壊れて、何も表示されなくなるまで、表示される要素が徐々に少なくなることです。このブレーキングを止めるためにタイマーやイージングを追加できますか?

<ul class="buying-dropdown">
 <li><p class="green-button"><a href="#">Read the blog</a></p>
    <ul>
      <li class="first amazon"><a href="#">paperback</a></li>
      <li class="signed"><a href="#">Signed edition</a></li>
      <li class="kindle"><a href="#">kindle edition</a></li>
      <li class="hardback"><a href="#">hardback edition</a></li>
      <li class="last postcard"><a href="#">postcard edition</a></li>
     </ul> </li>

(function ($) {
Drupal.behaviors.weaveoftheride = {
attach: function(context, settings) {

 console.log('called');
$('.buying-dropdown li').hover(
        function () {
            //show its submenu
            $('ul', this).stop().slideDown(100);

        }, 
        function () {
            //hide its submenu
            $('ul', this).stop().slideUp(100);          
        }
    );
}

};
})(jQuery);
4

1 に答える 1

3

.stop()メソッドを使用するときは、jQueryにアニメーションキューをクリアして、アニメーションの最後にジャンプするように強制する必要があります.stop(true, true)

于 2013-03-24T12:58:47.620 に答える