我有一个导航系统,其中某些元素具有单个级别下拉菜单。我已经按照我想要的方式工作了,除了在鼠标移动时很容易掉到导航栏的底部(这是第二条全宽线下拉内联项)。将鼠标悬停在外的JQuery获取鼠标移至的元素
我需要的是一种方法,当你跌出底部时不会干扰导航,也不会干扰其他导航项目(这样当你将鼠标悬停在导航上时,导航项目会立即隐藏)。
是否有办法找到你鼠标移动到当悬停出事件被称为元素?通过这种方式,我可以检测出他们是否在身体上移动,并启动一个计时器,以便在1000毫秒内隐藏导航。
我已经试过hoverIntent但这并不为我所需要的,因为我不能从一个导航项移动到另外一个延迟的工作......这使得导航非常难用!
如果不是这样,是有办法来检测,如果他们只是下降了使用鼠标位置的导航栏的底部?
任何帮助将不胜感激。下面是当前导航的Jquery。
var navDisplayTimer;
var navDisplayObject;
$("#main-nav > li").addClass("js-enabled");
$("#main-nav > li").hover(function(){
$(this).addClass("hovered");
if ($(this).find("ul").length != 0) {
$(this).parent().stop().animate({borderWidth: "22px"}, 400);
if($(this).parent().css("borderWidth") == "22px 22px 22px 22px") {
$(this).find("ul").show();
} else {
navDisplayObject = this;
navDisplayTimer = setTimeout(function() {
$(navDisplayObject).find("ul").show();
}, 300);
}
}
},function(){
clearTimeout(navDisplayTimer);
$(this).find("ul").hide();
$(this).parent().stop().animate({borderWidth: "2px"}, 400);
$(this).removeClass("hovered");
});
如果没有视觉帮助,这是很难理解的......屏幕截图会有帮助。 –