【发布时间】:2011-03-25 06:10:39
【问题描述】:
我对 javascript/jquery 并不感兴趣,但我想要做的只是向 mouseenter 函数添加一个超时,我不能做任何戏剧,但我也想清除超时,如果用户在超时到期之前离开元素 - 主要是为了允许光标跳过触发元素。
代码如下(mouseenter 有效,mouseleave 有效但不清除超时):
$(document).ready(function() {
var timeout;
$('#mainMenu ul li').mouseenter(function() {
var dropTab = 'ul.' + this.id + 'Dropdown';
timeout = setTimeout( function(){
$(dropTab).slideToggle("fast") }, 500
);
});
$('#mainMenu ul li').mouseleave(function() {
clearTimeout(timeout);
var dropTab = 'ul.' + this.id + 'Dropdown';
setTimeout( function(){
$(dropTab).slideToggle("fast") }, 250
);
});
});
【问题讨论】:
标签: javascript jquery timeout