jQueryを使用して単純なアコーディオンを作成していますが、これまでのところ見栄えは良いですが、ダブルクリックまたは2回以上クリックした場合でも奇妙な動作をします。それ自体を閉じるだけでなく、クリックされた回数に応じて開閉を開始します。if(!hasbeenclicked) のような変数を実装することを考えましたが、それが機能するかどうかはわかりません。したがって、基本的には、ダブルクリックを防止し、同じオプションをもう一度クリックした場合に、それ自体を閉じる方法を考えています。
ここにライブデモがありますhttp://jsfiddle.net/qBD5D/
私の現在のコード:
JavaScript
(function(){
$('#accordion h3').click(function(e){
e.preventDefault();
$('#accordion div').slideUp();
$(this).next('div').slideDown();
});
})();
html
<div id="accordion">
<h3>Accordion option text</h3>
<div>hello world</div>
<h3>Accordion option text</h3>
<div>hello world</div>
<h3>Accordion option text</h3>
<div>hello world</div>
<h3>Accordion option text</h3>
<div>hello world</div>
</div>
ありがとうございました。