0

我有一个小问题...

我创建了一个小脚本(用于 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> 

现在我试图结合这两个代码

WORKS .. 但只有 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//SUBMENU的不同超时

问候伯尼

4

1 回答 1

1

编辑:Github 链接到我的插件版本,供将来发现此插件的任何人使用。它的优化不是特别好,所以不要过度,但它确实有效。

看起来像这个问题的副本。基本上,答案是“你不能”——hoverintent 的编码方式是,你添加的任何事件处理程序都会覆盖旧的。该线程的回答者在修补悬停意图以添加您正在寻找的功能方面进行了几次尝试,但看起来他还没有管理它。

我将尝试编写插件的新版本;给我几分钟,我会发现这比我想象的更痛苦,或者发布一个 Github 链接。

于 2012-10-31T10:45:37.460 回答