使用clearTimeout为下拉菜单设置延迟

时间:2012-08-22 00:17:32

标签: jquery drop-down-menu delay

我对Javascript很新,我试图在一些下拉菜单上设置延迟。我加载了jQuery,目前正在使用延迟方法。然而,我做了一些环顾四周,似乎没有办法取消延迟计时器,这意味着我最终得到了一堆未崩溃的下拉菜单。

如何设置此项以便我可以设置延迟并在mouseout上取消?

这是我的代码(注意$$是用于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();
    });
});

1 个答案:

答案 0 :(得分:1)

在调用.hide()之前尝试在mouseout上添加$('#custommenu .wp-custom-menu-popup').stop(true, true)。这应该清除动画的活动队列,并希望跳过所有延迟。