延迟jquery中的悬停功能

时间:2011-04-04 05:16:13

标签: jquery hover delay submenu

我为我的下拉菜单做了自己的延迟功能。既然我不熟悉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);
    }
);

2 个答案:

答案 0 :(得分:1)

已经开发了一个名为hoverIntent的漂亮插件。

http://plugins.jquery.com/project/hoverIntent

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

答案 1 :(得分:0)

使用delay()功能

$('#test').slideDown(500).delay(3000).slideUp(500);

这将导致元素滑动等待3秒然后向上滑动

检查http://jsfiddle.net/wanJf/

处的工作示例