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 回答