jquery 中悬停功能的延迟
我为我的下拉菜单做了我自己的延迟功能。由于我对 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);
}
);
I did my own delay function for my dropdown menu. Since I'm kind of new to JavaScript I would like to know if this can be done in a better way?
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);
}
);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
已经有一个漂亮的插件,名为hoverIntent,已经为此开发了。
http://plugins.jquery.com/project/hoverIntent
如果您需要任何帮助来了解它是如何实现的我可以告诉你。否则它很容易使用。
there is already a beautiful plugin with the name hoverIntent already developed for that.
http://plugins.jquery.com/project/hoverIntent
If you need any help understanding how it works i can tell you. Otherwise its very easy to work with.
使用 delay() 函数
这将导致元素向下滑动,等待 3 秒,然后向上滑动
检查是否正常示例位于 http://jsfiddle.net/wanJf/
Use the delay() function
This will cause the element to slidedown wait 3 seconds then slide back up
Check working example at http://jsfiddle.net/wanJf/