[英]How to set up a “settimeout” properly for a jQuery function?
希望我能有所帮助。 我是Jquery和JavaScript的新手,但我陷入了“ setTimeout”函数的困境。 我正在导航栏上工作,基本上我需要一个div(子菜单)以在“单击”锚标签时淡入,如果将鼠标移至其他导航链接则将其淡出,如果将鼠标隐藏到一起,则将其全部隐藏鼠标离开它:像这样:
点击显示,但几秒钟后将其隐藏
如果鼠标离开div后隐藏。
到目前为止,这是我得到的:
$("a").click(function() {
$("#sub_nav").fadeIn(400);
});
$("#sub_nav").mouseleave(function() {
$(this).fadeOut(0);
});
$("#sub_nav").mouseenter(function() {
if(this) {
$(this).show(0);
} else {
setTimeout(function() {
$(this).fadeOut(0);
}, 2000);
};
});
除了setTimeout
以外,它setTimeout
预期工作。
感谢所有我能得到的帮助。
$("#sub_nav").mouseenter(function() {
if ( !$(this).is(':animated') ) {
var el = this;
setTimeout(function() {
$(el).fadeOut(0);
}, 2000);
}
});
馈送功能范围内的“ this”是“ window”对象,您需要保存对元素的引用。
我删除了您的if(this),因为它始终会评估为true,并且不确定是否要调试,但是如果它不是正确的解决方案,则可以使用它作为示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.