向 jQuery 脚本添加不同的超时



我有一个小问题...

我创建了一个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链接。

相关内容

  • 没有找到相关文章

最新更新