jQuery:链接在 .toggle() 之后不起作用

标签 jquery drop-down-menu toggle

我刚刚构建了一个下拉菜单,我想在单击时将其下拉,并在另一次单击后返回。这与我使用过的切换功能完美配合,但问题是下拉菜单后,链接不会执行。

$(函数(){

    $("#nav_menu-2 ul.menu ul").css({ display: 'none' });


    $("#nav_menu-2 ul.menu #testbutton").toggle(function() {


        $(this).find('ul.sub-menu')
            .stop(true, true).delay(50).animate({ "height": "show", "opacity": "show" }, 300 );
    }, function(){

        $(this).find('ul.sub-menu')
            .stop(true, true).delay(50).animate({ "height": "hide", "opacity": "hide" }, 300 );
    });

});

所以我的猜测是,菜单下降后,单击即可返回,而不是执行链接。但由于我对 javascript/jQuery 很陌生,所以我不知道还有什么其他选择。有什么想法吗?

最佳答案

我会使用 slideToggle ,绑定(bind)到应打开菜单的按钮的单击事件:

$("#nav_menu-2 ul.menu #testbutton").click(function() {
  $('ul.sub-menu').slideToggle();
});

您可能需要稍微更改选择器,具体取决于菜单的构造方式。

关于jQuery:链接在 .toggle() 之后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11883663/

相关文章:

安卓 "Toggle off all buttons"

javascript - 如何通过单击另一个链接来打开切换功能

javascript - 如何关闭捕捉到网格fabricjs

jquery - 从 ColdFusion 调用 jQuery

android - 如何在android中实现自定义下拉菜单到actionbar

html - 如何将 div 下拉菜单安排在其他 div 后面,以便覆盖部分下拉边框?

c# - .js 文件未被 Win 2008 Web Edit IIS 7 上的网站定位

jquery - Bootstrap toast 组件无法在数据表上正常工作

javascript - 使用 js 选择选择框(通过 angularjs 填充选择框)

javascript - MooTools if/then/else 切换基于 css 类的存在