2014-07-10 3 views
1

우선 jQuery에 익숙하지 않다는 것을 말해야합니다. 내 문제 : 저는 웹 사이트에 아코디언을 만들었고 오른쪽에는 화살표 이미지가 있습니다. 같은 탭을 열고 닫을 때 화살표가 이제는 완전히 전환됩니다. 그러나 하나의 탭이 열려 있고 첫 번째 탭을 닫지 않고 다른 탭을 클릭하면 해당 탭이 닫혔더라도 화살표가 계속 아래로 향하게됩니다. 누구든지 나를 도울 수 있습니까?아코디언에서 화살표 전환하기

jQuery(document).ready(function() { 
    jQuery(".toggleAccordion").click(function(event){ 
     event.preventDefault(); 
     if(jQuery(this).closest('.accordion').find('.subcategory-items').is(':visible') == false) { 
      jQuery(".subcategories .subcategory-items").slideUp(600); 
     } 
     if(jQuery(this).closest('.accordion').find('.subcategory-arrow-closed').css('display') == 'none'){ 
      jQuery(this).closest('.accordion').find('.subcategory-arrow-closed').css('display', 'inline'); 
      jQuery(this).closest('.accordion').find('.subcategory-arrow-open').css("display", "none"); 
     }else{ 
      jQuery(this).closest('.accordion').find('.subcategory-arrow-closed').css('display', 'none'); 
      jQuery(this).closest('.accordion').find('.subcategory-arrow-open').css("display", "inline"); 
     } 
     jQuery(this).closest('.accordion').find('.subcategory-items').slideToggle(600); 
    }); 
}); 

답변

0

당신은 단순히 열려있는 모든 요소를 ​​닫 코드에 추가 할 수 있습니다 :

(...) 
if(jQuery(this).closest('.accordion').find('.subcategory-items').is(':visible') == false) { 
    jQuery(".subcategories .subcategory-items").slideUp(600); 
    // Now remove open arrows. 
    jQuery('.subcategory-arrow-closed').css('display', 'inline'); 
    jQuery('.subcategory-arrow-open').css('display', 'none'); 
} 
(...) 
+1

감사

이 내 코드입니다! 나는 내 논리가 다소 실패했다는 것을 알았다. – Ayreona