0

私はJavascriptが初めてで、いくつかのドロップダウンメニューに遅延を設定しようとしています. 私は jQuery をロードしており、現在遅延メソッドを使用しています。ただし、いくつか調べてみたところ、タイマーを遅延してキャンセルする方法はないようです。つまり、折りたたまれていないドロップダウンがたくさんあることになります。

遅延を設定してマウスアウトでキャンセルできるようにするにはどうすればよいですか?

これが私のコードです($$はjQuery noconflict用であることに注意してください):

$$(function(){
    $$('#custommenu>div.menu').mouseover(function(){
    $$('#custommenu>div.menu').removeClass('active');               
    $$('#popup'+$$(this).attr('id').replace('menu','')).delay(500).slideDown(100);
    });

    $$('#custommenu>div.menu').mouseout(function(){
    $$('#custommenu .wp-custom-menu-popup').hide();

    });

    $$('#custommenu .wp-custom-menu-popup').mouseout(function(){
    $$('#custommenu>div.menu').removeClass('active');
    $$('#custommenu .wp-custom-menu-popup').hide();
    });

    $$('#custommenu .wp-custom-menu-popup').mouseover(function(){
    $$('#menu'+$$(this).attr('id').replace('popup','')).addClass('active');
    $$(this).show();
    });
});
4

1 に答える 1

1

$('#custommenu .wp-custom-menu-popup').stop(true, true).hide() を呼び出す前に、mouseoutを追加してみてください。これにより、アニメーションのアクティブなキューがクリアされ、できればすべての遅延がスキップされます。

于 2012-08-22T00:21:09.627 に答える