0

有人可以用这个简单的代码帮助我吗?我仍然是 js 的菜鸟,我不知道我做错了什么。基本上我试图制作一个鼠标悬停菜单。

function showQuickLinks() {
//show the menu
}
function hideQuickLinks() {
//hides the menu
}

//button mouseover
$("#quick-links-dd").mouseover(function() { 
 showQuickLinks();
});

var mnuTimeout;

//clears timeout when it rolls over the button
$("#quick-links-dd").mouseover(function () {        
   clearTimeout(mnuTimeout);    
})

//$("#quick-links) - quick links container
//hides the menu when the mouse is not over the container
$("#quick-links").mouseout(function () {
  mnuTimeout = setTimeout("hideQuickLinks()",1000);
});

鼠标悬停可以工作,但当鼠标位于链接容器之外时,它不会执行代码。

4

3 回答 3

0

你错过了一个“?

("#quick-links").mouseout(function () {
  mnuTimeout = setTimeout("hideQuickLinks()",1000);
});
于 2010-09-16T17:59:34.580 回答
0
var mnuTimeout = null;

$(function() { 
   $("#quick-links-dd").hover() {
       clearTimeout(mnuTimeout);
       showQuickLinks();
   }, function() {  
      mnuTimeout = setTimeout(hideQuickLinks,1000);
   });
});
于 2010-09-16T18:00:45.913 回答
0

我在丢失 onmouseout 事件时遇到了间歇性问题。我最终的解决方案是将鼠标悬停事件添加到周围元素,并让它们也取消弹出窗口。

于 2010-09-16T18:07:57.820 回答