0

jqueryアコーディオンに次のスクリプトを使用しています。

(function($) {

  var allPanels = $('.accordion > dd').hide();

  $('.accordion > dt > a').click(function() {
    allPanels.slideUp();
    $(this).parent().next().slideDown();
    return false;
  });

ただし、タイトルをクリックして閉じると、タイトルが閉じてすぐに再び開きます。スクリプトはここで機能しているのを見ることができます:http ://www.one-event.org.uk/wordpress/#!/ programme

だから私の質問は、アクティブなパネルをすぐに閉じて開くのではなく、もう一度クリックしたときにアクティブなパネルを閉じるにはどうすればよいですか?

4

1 に答える 1

0

それがあなたのコードがやろうとしていることなので、それはすぐに再び開きます

allPanels.slideUp(); // Hide the panel
$(this).parent().next().slideDown(); //Show it again

それらの行を次のように置き換えます

allPanels.not(this).slideUp(); //hide only ones that aint this one.
$(this).parent().next().slideToggle(); //show or hide based on current display
于 2012-12-03T17:57:54.123 に答える