我在可折叠的jquery中遇到了一些问题。
我的HTML元素就像这样
<div id="first" class="collapse-container">
<h1 class="collapse">
<span class="arrow-r"></span>First Heading</h1>
<div class="accordion-active">
<p>First Section</p>
<p>First Section</p><p>First Section</p>
</div>
<h1 class="collapse"><span class="arrow-r"></span>Second Heading</h1>
<div class="accordion-active">
<p>Second Section</p>
<p>Second Section</p>
</div>
<h1 class="collapse"><span class="arrow-r"></span>Third Heading</h1>
<div class="accordion-active">
<p>Third Section</p>
<p>Second Section</p>
</div>
</div>
我正在使用此jquery来切换类
$(document).ready(function () {
$(".collapse").click(function () {
$(this).toggleClass("active");
});
});
jQuery(document).ready(function() {
jQuery(".accordion-active").hide();
//toggle the componenet with class msg_body
jQuery(".collapse").click(function()
{
jQuery(this).next(".accordion-active").slideToggle(0);
});
});
现在我的问题是,当我点击第一个h1标签时,它只显示其elements.thats罚款。 但现在,当我点击第二个h1标签时,它会显示其元素,但是第一个H1标签仍处于打开状态。
如果一个(下一个课程)处于活动状态,我怎样才能将所有其他人隐藏起来?
由于
答案 0 :(得分:0)
试试这个。
$(".accordion-active").hide();
//toggle the componenet with class msg_body
$(".collapse").click(function(){
var $this = $(this); // Cacheing $(this)
$('.accordion-active').slideUp();
if( !$this.next(".accordion-active").is('.open') ){
//$('h1').removeClass('active');
$('.accordion-active').removeClass('open');
$this.addClass("active").siblings("h1").removeClass("active");
$this.next(".accordion-active").addClass('open').slideDown();
} else {
$("h1").removeClass("active");
$this.next(".accordion-active").removeClass('open').slideUp();
}
});
答案 1 :(得分:0)
或者您可以使用Accordion - jQuery UI。