Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery';切换';需要两次点击_Jquery_Drop Down Menu - Fatal编程技术网

jQuery';切换';需要两次点击

jQuery';切换';需要两次点击,jquery,drop-down-menu,Jquery,Drop Down Menu,我正在做一个小菜单: 问题在于滑动打开的“杂项”和“杂项2”菜单。当其中一个打开时,另一个需要关闭,我在下面粘贴的“切换”代码在前两次单击时可以正常工作,但是菜单项将需要不是一次而是两次单击才能再次激活。有没有关于如何通过单击保持其运行的线索 由于某些原因,触摸设备上的菜单也无法关闭 代码在任何地方都可以使用“hover”,但它确实需要单击激活 以下是我所拥有的: function mainmenu(){ $('.menu ul').css({display: "none"});

我正在做一个小菜单:

问题在于滑动打开的“杂项”和“杂项2”菜单。当其中一个打开时,另一个需要关闭,我在下面粘贴的“切换”代码在前两次单击时可以正常工作,但是菜单项将需要不是一次而是两次单击才能再次激活。有没有关于如何通过单击保持其运行的线索

由于某些原因,触摸设备上的菜单也无法关闭

代码在任何地方都可以使用“hover”,但它确实需要单击激活

以下是我所拥有的:

function mainmenu(){

    $('.menu ul').css({display: "none"});

    $('.menu li.sub').toggle(function(){
        $(this).siblings('li').find('ul').slideUp(200);
        $(this).find('ul:first').css({visibility: "visible",display: "none"}).slideDown(200);
    },function(){
        $(this).find('ul:first').slideUp(200);
    });

    $('.sub-menu li a').click(function(e) {
        e.stopPropagation();
    }); 

};

$(document).ready(function(){                  
    mainmenu();
});

未经测试,但请尝试以下内容:

$(document).ready(function(){                  
    $('.menu ul').hide();

    $('.menu li.sub').click(function() {
        $(this).find('ul:first').slideToggle(200)
               .end().siblings('li').find('ul').slideUp(200);
    });
});

未经测试,但请尝试以下内容:

$(document).ready(function(){                  
    $('.menu ul').hide();

    $('.menu li.sub').click(function() {
        $(this).find('ul:first').slideToggle(200)
               .end().siblings('li').find('ul').slideUp(200);
    });
});

试试这个。应该很好:

我会说,使用一些类并以正确的方式指定步骤:)

只有我的jQuery:

$(document).ready(function(){                  
    $('.menu ul.sub-menu').css({display: "none"});
    $('.menu li.sub > a').click(function(e){
        var $this = $(this),
            $parent = $this.parent('li'),
            $sub = $('.sub-menu', $parent);

        if (!$sub.hasClass('slided-down'))
        {
            // this sub is not visible
            $('.sub-menu.slided-down').slideUp(200).removeClass('slided-down');
            $sub.slideDown(200).addClass('slided-down');
        }
        else
        {
            // this sub is visible
            $sub.slideUp(200).removeClass('slided-down');
        }

        e.preventDefault();
        return false;
    });
});

试试这个。应该很好:

我会说,使用一些类并以正确的方式指定步骤:)

只有我的jQuery:

$(document).ready(function(){                  
    $('.menu ul.sub-menu').css({display: "none"});
    $('.menu li.sub > a').click(function(e){
        var $this = $(this),
            $parent = $this.parent('li'),
            $sub = $('.sub-menu', $parent);

        if (!$sub.hasClass('slided-down'))
        {
            // this sub is not visible
            $('.sub-menu.slided-down').slideUp(200).removeClass('slided-down');
            $sub.slideDown(200).addClass('slided-down');
        }
        else
        {
            // this sub is visible
            $sub.slideUp(200).removeClass('slided-down');
        }

        e.preventDefault();
        return false;
    });
});

该版本的
toggle()
在1.7中被弃用,并在1.9Oh中被删除。。有什么解决方案建议吗?
toggle()
的版本在1.7中被弃用,在1.9Oh中被删除。。有什么解决方法的建议吗?这似乎也很有效。由于简单而被选为答案。非常感谢。这似乎也很有效。由于简单而被选为答案。非常感谢。我对你的解决方案投了赞成票,但由于解决方案简单,我选择了另一个作为答案。Soz:(对于那些有类似问题的人来说,两种解决方案都很有效。我对你的解决方案投了赞成票,但由于解决方案的简单性,选择了另一种作为答案。Soz:(对于那些有类似问题的人来说,两种解决方案都很有效。