私はいくつかのアコーディオン設定をしています。 .not()メソッドは私が望むものを達成すると思ったが、ただちに現在のdivを閉じるだけだった。ここでこの要素以外のすべてを選択してください
は私が間違って行ってきたところ、誰でも見つけることができる場合、私が持っているものです:あなたは
JS
$(document).ajaxComplete(function() {
$('.accordion-toggle').click(function(){
//Expand or collapse this panel
$(this).next().stop().slideToggle('1000');
$(this).toggleClass('active').siblings().removeClass('active');
//Hide the other panels
$('.accordion-content').not(this).slideUp('1000');
});
});
HTML
<div id="location1">
<h3 class="accordion-toggle">Opening times <i class="fa fa-angle-down"></i></h3>
<div class="accordion-content">
<p>List of products available here!</p>
</div>
<h3 class="accordion-toggle">Opening times <i class="fa fa-angle-down"></i></h3>
<div class="accordion-content">
<p>List of products available here!</p>
</div>
<h3 class="accordion-toggle">Opening times <i class="fa fa-angle-down"></i></h3>
<div class="accordion-content">
<p>List of products available here!</p>
</div>
<h3 class="accordion-toggle">Opening times <i class="fa fa-angle-down"></i></h3>
<div class="accordion-content">
<p>List of products available here!</p>
</div>
</div>
<div id="location2">
<h3 class="accordion-toggle">Opening times <i class="fa fa-angle-down"></i></h3>
<div class="accordion-content">
<p>List of products available here!</p>
</div>
<h3 class="accordion-toggle">Opening times <i class="fa fa-angle-down"></i></h3>
<div class="accordion-content">
<p>List of products available here!</p>
</div>
<h3 class="accordion-toggle">Opening times <i class="fa fa-angle-down"></i></h3>
<div class="accordion-content">
<p>List of products available here!</p>
</div>
<h3 class="accordion-toggle">Opening times <i class="fa fa-angle-down"></i></h3>
<div class="accordion-content">
<p>List of products available here!</p>
</div>
</div>
CSS
.accordion-content {
display: none;
padding:20px 0;
border-bottom: 1px solid #d4d5d7;
}
.accordion-content.default {display: block;}
.accordion-toggle {
cursor: pointer;
font-size:18px;
padding:10px 0;
margin:0;
border-bottom:1px solid #d4d5d7;
position:relative;
}
これがある程度動作しますが、それから「アクティブ」クラスを削除しません。それがコンテナの外で閉じるdiv(#location1 /#location2)。それは他の何かをターゲットにしてもいいですか? – Ordog
申し訳ありませんが、 'siblings'関数は同じコンテナにない要素を対象とすることはできません。私は私の答えを編集しました。 – mcon
ありがとう、私たちは確かに近づいています。あなたが提供したコードは動作しますが、私がアクティブなクラスをクリックしたのと同じアコーディオンを閉じてみると、それは取り除かれません。痛いのは申し訳ありません! :/ – Ordog