1

ユーザーがクリックすると上にスライドし、ユーザーがもう一度クリックすると下にスライドして閉じる単純なナビゲーションがあります。現在、removeClass と addClass を使用して、ナビゲーションの開閉矢印の位置を変更しています。私が抱えている問題は、クリックしてナビゲーションを開くとナビゲーションの開閉矢印の位置が変わることですが、矢印をクリックしてナビゲーションを閉じると、矢印が元の位置に戻りません。誰かが私のコードを見ることができれば、私はそれを大いに感謝します! これが機能しない理由がわかりません。ありがとう!

ここに私のコードへのリンクがありますhttp://jsfiddle.net/jsavage/QmEcs/6/

$(function(){
var $itemContent = $('.drop-down-nav');
$('.drop-down-btn').click(function(e){
  $('.drop-down-btn').removeClass('drop-down-btn');
  $('.drop-down-nav-container a').addClass('drop-down-btn-up');
  e.preventDefault();
  if($itemContent.hasClass('opened')){
    $itemContent.slideUp('fast').toggleClass('closed opened');
  } else {
    $itemContent.slideDown('fast').toggleClass('closed opened');
  }
});

$(function(){
var $itemContent = $('.drop-down-nav');
$('.drop-down-btn-up').click(function(e){
  $('.drop-down-btn-up').removeClass('drop-down-btn-up');
  $('.drop-down-nav-container a').addClass('drop-down-btn');
  e.preventDefault();
  if($itemContent.hasClass('opened')){
    $itemContent.slideUp('fast').toggleClass('closed opened');
  } else {
    $itemContent.slideDown('fast').toggleClass('closed opened');
  }
});

});

4

2 に答える 2

1

2 番目の関数でクラスを からopenedに変更するのを忘れたようです。closedしたがって、どちらの関数も効果的に要素を下にスライドさせようとしていますが、どちらも上にスライドさせようとはしていません。

于 2013-07-25T22:27:43.220 に答える