JQuery Hover函数超时
JQuery Hover Function Timeout
我在SO上看到过其他类似的问题,但答案不是我想要的。我对下面代码的问题是关于变量hide。
在它的当前形式隐藏将不可见的第一个悬停函数,但我不想在更高的范围内声明它,因为它没有使用那里。此外,在更高的作用域声明它需要为每个li创建不同的变量。
保持这个变量包含这两个函数之间的超时的解决方案是什么?
$('li').hover(function() {
clearTimeout(hide);
$('.menu', this).show();
}, function() {
var menu = $('.menu', this);
var hide = setTimeout(function() {
menu.hide();
}, 500);
});
可以将值存储在.data()
$('li').hover(function() {
clearTimeout($(this).data('hide'));
$('.menu', this).show();
}, function() {
var menu = $('.menu', this);
$(this).data('hide', setTimeout(function() {
menu.hide();
}, 500));
});
相关文章:
- 将变量传递到超时函数的Javascript
- 如何循环设置超时函数
- Jquery-超时函数
- 传递到超时函数时删除的小数点
- 如何通过密钥输入重新触发超时函数
- Javascript 在 for 循环中设置了超时函数
- 中断 JQuery 设置超时函数
- 设置超时函数回调静态变量
- 在浏览器空闲后保持设置超时函数运行
- 如何设置超时函数
- 强制 JavaScript 超时函数立即执行
- jQuery 超时函数从未在 mouseEnter mouseleave 上调用过
- 具有可变时间的设置超时函数
- jQuery动画到底后超时函数
- 超时函数完成后如何调用函数
- 如何创建一个rucursive超时函数
- javascript超时函数
- 多个设置超时函数在第一次单击时不执行
- 访问超时函数内的变量
- 在对象中设置超时函数