2014-09-30 74 views
0

我有一个手风琴设置常见问题,具有不断变化的背景图像。我现在试图向.ac-header添加一个向上或向下的箭头,具体取决于.ac-header的活动状态。这是我现在的代码:更改图像与jquery时,一个手风琴头更改

<ul id="faqs-list" class="fd-accordion"> 
    <li> 
     <header class="ac-header"> 
      <h4>1. Question 1?</h4> 
      <img src="assets/images/arrow-down.png" class="arrow" alt="arrow" /> 
     </header> 
     <div class="ac-content"> 
      <p>Answer 1</p> 
     </div> 
    </li> 
    <li> 
     <header class="ac-header"> 
      <h4>1. Question 2?</h4> 
      <img src="assets/images/arrow-down.png" class="arrow" alt="arrow" /> 
     </header> 
     <div class="ac-content"> 
      <p>Answer 2</p> 
     </div> 
    </li> 
</ul> 



$(function(){ 
    $(document).ready(function() { 
    $(".ac-content").hide(); 

    $('.ac-header').on("click", function (e) { 
    $('.ac-header').not(this) 
       .removeClass("active") 
       .next(".ac-content") 
       .hide(); 

    $(this).toggleClass("active") 
     .next(".ac-content") 
     .toggle($(this).is(".active")); 
    }); 
}); 

寻找建议,应该在javascript中添加什么以更改图像“arrow-down.png”。谢谢!

+0

规范是使用CSS,而不是插入'它做的事img'标记。类变化足以切换背景 – charlietfl 2014-09-30 12:33:45

+0

'$(function(){'删除此 – 2014-09-30 12:36:33

+0

检查[jsfiddle](http://jsfiddle.net/prashantptapase/no68kyje/)。完美工作。使用'.attr )' – 2014-09-30 12:38:05

回答

0

试试这个:切换类活跃后,检查是否标头具有主动类或不和改变图像相应

$(document).ready(function() { 
     $(".ac-content").hide(); 

     $('.ac-header').on("click", function (e) { 
     $('.ac-header').not(this) 
        .removeClass("active") 
        .next(".ac-content") 
        .hide(); 

     $('.ac-header').find('img').attr('src','assets/images/arrow-down.png').attr('alt','down-arrow'); 

    $(this).toggleClass("active") 
     .next(".ac-content") 
     .toggle($(this).is(".active")); 

    if($(this).hasClass('active')) 
    { 
     $(this).find('img').attr('src','assets/images/arrow-right.png').attr('alt','right-arrow'); 
    } 

    }); 
}); 

DEMO

+0

这改变了箭头,但是直到答案被再次隐藏。 – ljames 2014-09-30 12:48:36

+0

你想要这个http://jsfiddle.net/59jrxpab/16/ – 2014-09-30 12:50:44

+0

或像这样http://jsfiddle.net/59jrxpab/18/ – 2014-09-30 12:53:17