.click(function(e)) - 为什么我必须单击两次以使功能起作用?

时间:2015-07-08 02:47:20

标签: javascript jquery

我已经仔细检查了这些电路板并看到了类似的问题,但我仍然不能为我的生活找出为什么我必须单击我的下拉菜单两次才能触发该功能。在第二次单击后,菜单在可见和隐藏之间切换,只需按一下即可。

这是我的剧本:

$(document).ready(function() {

    $('#click-nav .nav-item.has-dropdown').click(function(e) {
        e.preventDefault();

        var subNav = $(this).attr('data-sub-nav');

        $('#click-nav .has-dropdown-icon').html('+');

        if ($(this).hasClass('active')) {
            $(this).removeClass('active');
            $('#secondary-navigation').slideUp(500, 'easeInQuint', function() {
                $('#secondary-navigation .sub-nav').hide();
            });
        } else {
            $('.has-dropdown-icon', this).html('-');
            $('#click-nav .nav-item.has-dropdown.active').removeClass('active');
            $(this).addClass('active');
            $('#secondary-navigation .sub-nav').hide();
            $('#secondary-navigation .sub-nav#' + subNav).show();
            $('#secondary-navigation').slideDown(500, 'easeOutQuint');
        }
    });

以下是我们的网站:http://joriebreonn.com/ - 您可以看到,在初始页面加载时,您需要点击一个菜单项,并使用+两次显示下拉菜单。然而,在您只需要单击菜单项一次以使该功能起作用之后。

显然我是一个新手,并欣赏任何见解。非常感谢你的帮助!

0 个答案:

没有答案