Javascript 如何添加延迟计时器?
我有一段代码,可以使菜单项上下滑动。我想添加一个计时器,以便在向下滑动时有延迟,然后再向上滑动Javascript 如何添加延迟计时器?,javascript,jquery,timer,Javascript,Jquery,Timer,我有一段代码,可以使菜单项上下滑动。我想添加一个计时器,以便在向下滑动时有延迟,然后再向上滑动 $(function () { $("#menu").find("li").each(function () { if ($(this).find("ul").length > 0) { $(this).mouseenter(function () { $(this).find("ul").stop(true, tr
$(function () {
$("#menu").find("li").each(function () {
if ($(this).find("ul").length > 0) {
$(this).mouseenter(function () {
$(this).find("ul").stop(true, true).slideDown();
});
$(this).mouseleave(function () {
$(this).find("ul").stop(true, true).slideUp();
});
}
});
});
看起来您正在使用jQuery编写javascript jQuery有一个内置的
.delay
函数用于动画队列
在您的示例中,将slidedown动画延迟300毫秒
$(this).find("ul").stop(true, true).delay(300).slideDown();
请参见它看起来像是在用jQuery编写javascript jQuery有一个内置的
.delay
函数用于动画队列
在您的示例中,将slidedown动画延迟300毫秒
$(this).find("ul").stop(true, true).delay(300).slideDown();
参见一种聪明的方法是在触发mouseleave之前,将悬停意图添加到等待:
- 不要使用
只需使用:if($(this).find(“ul”).length>0){
(“li:has(ul)”)
就可以仅在具有
子元素的ul
上触发事件li
- 为
添加事件回调mouseenter mouseleave
e
- 如果
事件==e
…mouseenter
为else
mouseleave
- 然后清除名为“wait”的
属性并向下滑动子项data
ul
- 现在,离开原始的
元素以到达“遥远的”li
我们必须跨越一个空白(演示),该空白通常会立即触发“slideUp()”,但我们在ul
的数据属性中设置了一个超时计数器,该属性将在运行前等待约180msli
- 到达'distance'
元素-通过超时'li'的子元素,我们清除超时(步骤1)'保留'鼠标指针状态ul
使用~180ms或您认为需要多少时间才能使用鼠标到达“远处”UL元素聪明的方法是在触发mouseleave之前添加悬停意图以等待:
- 不要使用
只需使用:if($(this).find(“ul”).length>0){
(“li:has(ul)”)
就可以仅在具有
子元素的ul
上触发事件li
- 为
添加事件回调mouseenter mouseleave
e
- 如果
事件==e
…mouseenter
为else
mouseleave
- 然后清除名为“wait”的
属性并向下滑动子项data
ul
- 现在,离开原始的
元素以到达“遥远的”li
我们必须跨越一个空白(演示),该空白通常会立即触发“slideUp()”,但我们在ul
的数据属性中设置了一个超时计数器,该属性将在运行前等待约180msli
- 到达'distance'
元素-通过超时'li'的子元素,我们清除超时(步骤1)'保留'鼠标指针状态ul
使用~180ms或您认为需要多少时间才能用鼠标到达“遥远的”UL元素这与Java有什么关系?这是什么编程语言?我认为您可以使用以下内容而不是
每个
来添加事件侦听器$(“#菜单UL li UL:not(:empty)”).mouseenter(function(){…}.mouseleave(function()){…};
这与Java有什么关系?这是什么编程语言?我认为您可以使用以下内容来添加事件侦听器$(“#menu ul li ul:not(:empty)”).mouseenter(function(){…}).mouseleave(function(){…})再次感谢。我会试试这个。@user1510450不客气!希望我猜对了你的需要。(欢迎来到SO;确保阅读和此:)再次感谢。我会试试这个。@user1510450不客气!希望我猜对了你的需要。(欢迎来到SO;确保阅读和此:)