鼠标进入后延时 2 秒展示下拉菜单,离开时清除时间事件。
但是发现进入时能触发 consola.log('good')
,却不能执行 .show()
,而离开的时候却能执行 .hide()
http://jsfiddle.net/W2rCA/
经过 @Humphry 指点,改成如下就正常了。
var timeout;
$('#menu > li').hover(
function() {
var menu = $(this).find('.dropdown'); // 暂存
timeout = setTimeout( function() {
console.log('good');
menu.show();
}, 2000);
},
function() {
clearTimeout(timeout);
menu.hide();
}
);
http://jsfiddle.net/W2rCA/1/