私は以前、単純なjqueryアコーディアンに関する質問を投稿しました。回答は役に立ちましたが、私が今質問している質問は、その質問に対するフォローアップです。タブを折りたたむようにして、すべてのタブを閉じるようにしてください。読むために「ようこそ」をクリックし、もう一度クリックすると閉じます。現在、タブの1つは開いたままです。 これは、あなたが何らかの形で、実際にそれをスライドするか、それを下にスライドする前に、アコーディオンの状態を確認する必要があります。これは、linkすべてのjqueryのアコーディオンタブを閉じます
0
A
答えて
0
$('.va-content').slideUp();
は、すべてのタブに
0
を閉じているコード
$(document).ready(function() {
$('#va-accordion .va-content').hide();
$('.va-heading').click(function(){
$('#va-accordion .va-content').slideUp();
$(this).next().slideDown();
return false;
});
});
ですこれらのアクションのどれを実行するかを定義します。
アコーディオンが開いているかどうかを調べる単純なif文は、問題を解決します。
あなたは正しい軌道に乗っているようですが、幸いです。
0
slideUp()
を呼び出す前にコンテンツdivが表示されているかどうかをテストします。そうである場合は、slideDown()
に電話しないでください。
$(document).ready(function() {
$('#va-accordion .va-content').hide();
$('.va-heading').click(function() {
var contentDiv = $(this).next();
var isVisible = contentDiv.is(":visible");
$('#va-accordion .va-content').slideUp();
if (!isVisible) contentDiv.slideDown();
return false;
});
});