2013-08-13 2 views
0

안녕하세요,이 간단한 아코디언을 선택하면 배경색이 변경되어 선택 취소되었을 때 흰색으로 돌아갑니다. 아코디언과 배경을 닫으려고 활성 상태를 클릭하면 크게 벗어납니다. 다시 변경 ... 어떤 도움을비활성 상태에 대한 Jquery 아코디언 비틀기

<script type="text/javascript"> 
$j(".accordion > dt").click(function(){ 
    if(false == $j(this).next().is(':visible')) { 
     $j('.accordion dd').slideUp(300); 
     $j('.accordion dt').css('backgroundColor','#ffffff'); 
    } 
    $j(this).next().slideToggle(300); 
    $j(this).css('backgroundColor','#EE178C'); 
}); 
</script> 
+0

아코디언의 [beforeActivate 이벤트] (http://api.jqueryui.com/accordion/#event-beforeActivate)가이 모든 것을 처리 할 수있을 때 여러 jQuery 작업으로이 모든 작업을 수행하는 이유에 대해 저는 당황합니다. – DevlshOne

답변

0

내가 함께 던진이 jQuery 플러그인이 그것을해야 주시면 감사하겠습니다 :

(function ($) { 
    var backgroundColorToggleStatus = null; 
    $.fn.backgroundColorToggle = function(one,two) { 
     return this.each(function(){ 
       if (backgroundColorToggleStatus == one) 
        backgroundColorToggleStatus = two; 
       else if (backgroundColorToggleStatus == two) 
        backgroundColorToggleStatus = one; 
      else{ 
        backgroundColorToggleStatus = one; 
      } 
      $(this).css("backgroundColor",backgroundColorToggleStatus); 
     }); 
    }; 

}(jQuery)); 

단순히 this 같은 .backgroundColorToggle("#fff","#000");를 호출합니다.

+0

시도해 주셔서 고맙습니다. 그러나 문제가 지속됩니다. 즉, 아코디언을 활성화하려면 클릭하십시오. 그러나 다시 닫으려면 다시 클릭하면 분홍색으로 유지됩니다. http://jsfiddle.net/gph6J/ – user2595800

+0

@ user2595800을 참조하십시오. 간단한 작은 jquery 플러그인. [작동하는 것 같다] (http://jsfiddle.net/gph6J/2/). – bengreenier