我正在研究一个jQuery下拉菜单,当您将鼠标悬停在顶层项目上时,该下拉菜单会淡入。我想设置它,以便当您移动鼠标时,菜单不会立即消失。我有这样的代码:延迟后淡出jQuery菜单
$(document).ready(function(){
$('ul#menu > li').hover(
// mouseover
function(){
$(this).find('>ul').fadeIn('fast');
},
// mouseout
function(){
setTimeout(function(){
alert('fadeout');
$(this).find('>ul').fadeOut('fast')
}, 1000);
}
);
});
一秒钟后发生警报,但菜单没有淡出。
我当时就在想,难道这是因为“这个”点到'setTimeout'函数内部其他什么东西? – DisgruntledGoat 2009-09-22 00:58:12
是的,这是正确的。你正在看窗户。 – user120242 2009-09-22 01:18:44
你可以使用'.children('ul')'而不是'.find('> ul')'顺便说一句。 – 2013-06-04 12:02:32