如何在菜单中取消绑定后绑定

时间:2012-08-07 20:26:23

标签: jquery

我正在尝试创建一个使用悬停来上下移动导航按钮的导航。当我点击选择一个按钮,我希望悬停停止,这是有效的。当我在导航中选择另一个按钮时,如何绑定悬停动画?截至目前,它仍然无限制,点击时所有按钮都变为无界限。一个foreach()?

自从我使用jQuery并需要一点帮助以来已经有一段时间了。

另外,我首先使用mouseOver()和mouseOut()并读取悬停最好使用。这是对的吗?

让小提琴正确运行,这样可以在不使用图像的情况下提供更好的主意。 http://jsfiddle.net/cs_what/WP9TT/

1 个答案:

答案 0 :(得分:2)

事件委托可以轻松完成。

google.load("jquery", "1.6.2");
google.setOnLoadCallback(function(){
    $(".horzNavigation").delegate("ul > li > a:not(.active)",{
        "mouseenter": function(){
            $(this).stop(true,true).animate({"top": "-=60px"}, 250, 'swing');
        },
        "mouseleave": function(){
            $(this).stop(true,true).animate({"top": "+=60px"}, 250, 'swing');
        }
    }).delegate("ul > li > a","click",function(event){
        $(this).addClass('active').parent().siblings().children('.active').removeClass('active');
    });
});

另外,我假设您的代码中有拼写错误,ul元素无法直接包含锚标记,因此我在li标记中添加了选择符。无效的html在不同的浏览器中可能会产生不一致的结果。