我有一个小问题...
我创建了一个litte脚本(用于jQuery Hoverintent-Plugin)
脚本显示我的子菜单 7秒
(工作完美)
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
$(".navi-item").hoverIntent({
over: showSub,
timeout: 7000,
out: hideSub
});
});
function showSub(){ $(this).find('>ul').fadeIn(100); }
function hideSub(){ $(this).find('>ul').fadeOut(100); }
</script>
现在我创建了另一个脚本(用于jQuery Hoverintent-Plugin)
脚本正在为 3秒添加一个类
(仅在我禁用上述代码)
时起作用<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
$(".navi-item").hoverIntent({
timeout: 3000,
over:function(){
if (!$(this).hasClass("active")) {
$(this).addClass("active2");
}
},
out: function(){
$(this).removeClass("active2");
}
});
});
</script>
现在我尝试将两个代码组合起来
(有效..但仅使用1个超时)
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
$(".navi-item").hoverIntent({
timeout: 7000,
over:function(){
if (!$(this).hasClass("active")) {
$(this).addClass("active2"); // ADDCLASS
}
$(this).find('>ul').fadeIn(100); // SUBMENU
},
out: function(){
$(this).removeClass("active2"); // ADDCLASS
$(this).find('>ul').fadeOut(100); // SUBMENU
}
});
});
</script>
有没有办法同时运行脚本1和2?
或
可以将不同的超时从HoverIntent设置为//ADDCLASS 和//cumbenu
向Berni
编辑:github链接到我的插件版本,适用于将来找到这个插件的任何人。它不是特别优化,所以不要过度使用,但可以正常进行。
看起来这个问题的重复。基本上,答案是"您不能" - 悬停的编码以使您添加的任何活动处理程序都将覆盖较旧的事件。该线程的答案器需要进行几个修补悬停器以添加所需的功能,但看起来他还没有管理它。
我将尝试编写新版本的插件;给我几分钟,我要么发现这比我想象的要多得多,要么发布github链接。