jquery中悬停函数的延迟

jquery中悬停函数的延迟,jquery,hover,delay,submenu,Jquery,Hover,Delay,Submenu,我为我的下拉菜单做了自己的延迟功能。因为我对JavaScript有点陌生,我想知道这是否可以用更好的方式实现 var $hasSubpages = $("#divContainer .classForPagesWithSubpages"); function theFunction(){$('#theID').find('.classForChild').slideDown(400);} var timer; $hasSubpages.hover( function (){

我为我的下拉菜单做了自己的延迟功能。因为我对JavaScript有点陌生,我想知道这是否可以用更好的方式实现

var $hasSubpages = $("#divContainer .classForPagesWithSubpages");

function theFunction(){$('#theID').find('.classForChild').slideDown(400);}

var timer;
$hasSubpages.hover(
    function (){
        timer = setTimeout(theFunction, 500);
        $(this).attr('id','theID');
    },
    function(){
        clearTimeout(timer);
        $(this).attr('id','').find('.classForChild').slideUp(400);
    }
);

已经有一个名为hoverIntent的漂亮插件为此而开发

如果你需要了解它是如何工作的,我可以告诉你。否则很容易使用。

使用该功能

这将导致元件向下滑动等待3秒钟,然后向上滑动


检查工作的例子在你是正确的,我也使用相同的插件…为所有悬停效果和延迟。谢谢你的回答。真的看不出区别吗?
$('#test').slideDown(500).delay(3000).slideUp(500);