2017-09-11 6 views
2

いくつかのCSSとjqueryを使用して、ホバー上のサブメニューを表示するメニューを作成しました。これは、ユーザーがメニュー項目を何度も開いている場合には面白いことです。これはURLです:http://91.202.168.37/~ibi/、これは(準備、文書内の)jqueryのコードです:私はのsetTimeout()関数を使用しようとしたが、それは仕事を得ることができませんでしたホバーでのjqueryの実行回数(回/時間)

if ($(window).width()>991) //menu script desktop or laptop 
    { 
    $('#mob-main-menu > li.menu-item-has-children').hover(function(event){ 
    event.preventDefault(); 
    $(this).children('a').toggleClass('bold600'); 
    $(this).children('a').siblings('.sub-menu').slideToggle(); 
    }); 
    } 
    else // menu script touch device 
    { 
    $('#mob-main-menu > li.menu-item-has-children').click(function(event){ 
    if ($(this).children('a').siblings('.sub-menu').css('display') == 'none') 
     { 
     event.preventDefault(); 
     console.log('hidden'); 
     } 
    $(this).children('a').toggleClass('bold600'); 
    $(this).children('a').siblings('.sub-menu').slideToggle(); 
    }); 
    } 

。どのくらいの数のホバーを数えても、コードを2回以上キューに制限することはできませんか?それをゼロに戻すためにx時間後よりも?それをより良くするための他のアイデアは、喜んで受け入れられるでしょう。

答えて

2

は、それが正しく

$(this).children('a').siblings('.sub-menu').stop().slideToggle(); 
+0

を動作するはずですので、それがアニメーションキューをクリアしたアニメーション.stop()関数を作成してみてください、非常に多くの友人をありがとう。正確に私が必要としたもの。 – Nadav

関連する問題