我正尝试在同一页面中使用两个或多个手风琴。所以现在第一个手风琴正在工作,但是第二个不起作用。单页中的多个手风琴
我想知道错过了多个事件。
这是我的html和js代码。任何帮助高度赞赏。
$('#accord > ul > li:has(ul)').addClass("has-sub");
$('#accord > ul > li > a').click(function() {
var checkElement = $(this).next();
$('#accord li').removeClass('active');
$(this).closest('li').addClass('active');
if ((checkElement.is('ul')) && (checkElement.is(':visible'))) {
$(this).closest('li').removeClass('active');
checkElement.slideUp('normal');
}
if ((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
$('#accord ul ul:visible').slideUp('normal');
checkElement.slideDown('normal');
}
if (checkElement.is('ul')) {
return false;
} else {
return true;
}
});
<div id='accord'>
<ul>
<li class="active">
<a href='javascript:void(0)'><span>Accordion</span></a>
<ul style="display: block;">
<div class="acc_cont">
//text
</div>
</ul>
</li>
<li>
<a href='javascript:void(0)'><span>Accordion</span></a>
<ul style="display: block;">
<div class="acc_cont">
//text
</div>
</ul>
</li>
</ul>
</div>
<div id='accord'>
<ul>
<li class="active">
<a href='javascript:void(0)'><span>Accordion</span></a>
<ul style="display: block;">
<div class="acc_cont">
//text
</div>
</ul>
</li>
<li>
<a href='javascript:void(0)'><span>Accordion</span></a>
<ul style="display: block;">
<div class="acc_cont">
//text
</div>
</ul>
</li>
</ul>
</div>
你的HTML是因为重复的'无效id'属性。它们在文档中必须是唯一的。使用类代替 –
无论如何设置增量在Jquery –
增量ID或类是反模式。我为你添加了一个答案,所以你可以看到如何解决这个问题。 –