0

我尝试创建一个子菜单:

  • 在再次隐藏之前延迟 1 秒以方便用户使用(意外失去焦点)
  • 淡出,所以很明显
  • on re-entry 停止淡入淡出并淡入

我介绍了hoverIntent的使用。

它现在正在使用以下代码(jQuery 版本应该是最新的,否则fadeIn 不起作用):

$(文档).ready(函数(){

function showMenu() {
    $("#speciesSubmenu").stop(true,false).fadeIn(500).show();
}

function hideMenu() {
    $("#speciesSubmenu").fadeOut(1000,0);
}

$("#menuItemSoorten").hoverIntent({
    over: showMenu,
    timeout: 800,
    out: hideMenu
});

});

http://jsfiddle.net/johannesklapwijk/p8PDW/15/

4

2 回答 2

0

一旦 mouseout 事件触发,设置的时间 Out 将运行并淡出。首先,您应该切换到对 mouseenter / mouseleave 事件使用 .on() 方法,并真正创建您想要使用此处提供的 hoverintent 插件之后的行为

https://github.com/briancherne/jquery-hoverIntent

于 2013-09-30T06:29:56.390 回答
0

这是解决方案:http: //jsfiddle.net/p8PDW/6

方法中的处理程序中的停止是问题所在

$("#speciesSubmenu").stop().css("opacity", "1").show();

这就是变化。对于 stop() 阅读这篇文章http://api.jquery.com/stop/它会对你有很大帮助

于 2013-09-30T06:25:39.253 回答