我需要使用相同的按钮打开/关闭手风琴菜单。
目前它刚刚打开,我无法关闭它。
我的代码在下面,或者在这里我的jsFiddle:http://jsfiddle.net/ndczc728/5/
//Accordion
(function($) {
var allPanels = $('ul.sub-level').hide();
$('.click-me').click(function() {
$this = $(this);
$target = $this.next();
if(!$target.hasClass('active')){
allPanels.removeClass('active').slideUp();
$target.addClass('active').slideDown();
}
return false;
});
})(jQuery);
答案 0 :(得分:1)
非常简单......只需将else语句添加到If语句中:
//Accordion
(function($) {
var allPanels = $('ul.sub-level').hide();
$('.click-me').click(function() {
$this = $(this);
$target = $this.next();
if(!$target.hasClass('active')){
allPanels.removeClass('active').slideUp();
$target.addClass('active').slideDown();
}
else
{
allPanels.removeClass('active').slideUp();
}
return false;
});
})(jQuery);
使用JSFiddle:http://jsfiddle.net/ndczc728/15/
答案 1 :(得分:0)
你从未切换过它。
http://jsfiddle.net/ndczc728/8/
if(!$target.hasClass('active')){
$target.addClass('active').slideDown();
}
else
{
$target.removeClass('active').slideUp();
}
答案 2 :(得分:0)
这是跟踪计数的简单修复:
(function ($) {
$('ul.sub-level').hide();
var c = 1;
$('.click-me').click(function () {
c++ % 2 == 0 ? $('ul.sub-level').slideUp() : $(this).next().slideDown();
return false;
});
})(jQuery);