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