2016-03-23 30 views
0

HTML、CSS、jQueryのFAQページを作ろうとしています。 質問を開くときに矢印を回転させ、別の質問をクリックするときに矢印を回転させたいと思います。私は<p>タグでそれを行うことができましたが、今は画像に問題があります。 誰かがこれを行う方法を知っていますか?Jqueryが画像を切り替える

これは私が書いたコードです:http://jsfiddle.net/jmex1p5g/62/

$(document).ready(function(){ 
    var $li_p = $('ul[class="questions"] li').children('p'); 
    var $li_a = $('ul[class="questions"] li').children('a'); 
    if($li_p.slideToggle().toggleClass('closed')){ 
    $li_p.hide(); 
    } 
    $('ul[class="questions"] li').click(function() { 
     var ullist = $(this).children('p:first'); 
     ullist.slideToggle().toggleClass('closed'); 

     var isVisible = ullist.is(".closed"); 
     var siblings = $(this).siblings('li'); 
     $.each(siblings, function (i, key) { 
      if ($(key).find('a').hasClass('icon_minus')) {   
       var sibling = $(key).children('p:first'); 
       $(sibling).slideToggle().addClass('closed'); 
      $(key).find('a').removeClass('icon_minus').addClass('icon_plus'); 
      } 
     }); 


     var img_icon = $(this).children('a'); 
     var image = $(this).children('span'); 

     var realimage = $(image).children('img'); 
     if (isVisible === true){ 
      img_icon.removeClass('icon_minus').addClass('icon_plus'); 
      realimage.removeClass('rotate'); 
      $(this).siblings('img').removeClass('rotate'); 
     } else { 
      img_icon.removeClass('icon_plus').addClass('icon_minus'); 
      realimage.addClass('rotate'); 
     } 
    }); 
    }); 
+0

あなたのコードは混乱です。私は 'li'にクラス '.active'を追加/削除し、残りの部分をCSSで処理します。または、[this one](http://www.jqueryscript.net/demo/Simple-Smooth-FAQ-Accordion-with-jQuery-CSS-FAQ-Slider/)のようなプラグインを使用してください。 – Miro

答えて

1

を私はあなたのフィドルを編集した:http://jsfiddle.net/jmex1p5g/63/

基本的には、選択した1に追加する前に、すべての画像からrotateクラスを削除する必要があります。それは一般的な習慣です。

は、関連するコードは、次のとおりです。

$('ul[class="questions"] li').click(function() { 
    // ... 
    // code 
    // ... 

    var img_icon = $(this).children('a'); 
    var image = $(this).children('span'); 

    var realimage = $(image).children('img'); 
    if (isVisible === true){ 
     img_icon.removeClass('icon_minus').addClass('icon_plus'); 
     $('li.question img').removeClass('rotate'); 
     realimage.toggleClass('rotate'); 
    } else { 
     img_icon.removeClass('icon_plus').addClass('icon_minus'); 
     $('li.question img').removeClass('rotate'); 
     realimage.toggleClass('rotate'); 
    } 
}); 

    //... 
    //the rest of code 
+1

ありがとうございます。私はこれを忘れることはありません。 – KimberlyGS

+0

拳ポンプ男:) – morels

関連する問題