2014-02-07 3 views
0

하위 메뉴에 jquery를 사용하여 링크를 클릭하면 메뉴를 만들려고합니다. 문제는 하위 메뉴가 shopify의 루프에서 오는 것입니다. 나는 모든 하위 메뉴가 열립니다 트리거를 클릭하면 그래서, 나는 각과이 있지만 확실하지 않은 필요하다고 생각 어디에 여기에 일부 코드 :Jquery 클릭 셀렉터 및 루프 미친 듯이 쇼핑하기

<script> 
      $(function(){ 
       $('.trigger').click(function(){ 
        $('.accordion').show('fast'); 
       }); 
      }); 
      </script> 

       <li class="trigger" ><a href="{{ link.url }}" title="{{ link.title }}" class="sub-menu {% if link.active %}active{% endif %} {% for link in linklists[link.handle].links %}{% if link.active %}active{% endif %}{% endfor %}">{{ link.title }} 
       <span class="arrow">▾</span></a> 
       <div class="dropdown {% if count.size > column_threshold %}dropdown-wide{% endif %}"> 
        <ul > 
        {% assign count = 0 %} 
        {% assign split = false %} 
        {% for link in linklists[link.handle].links %} 
         {% capture count %}{{ count }}*{% endcapture %} 
         <li ><a href="#" title="{{ link.title }}">{{ link.title }}</a></li> 
         {% if linklists[link.handle] != empty %} 
        <li class="accordion" style="display:none;"> 
         {% for link in linklists[link.handle].links %} 
         <a class="sub-link " href="{{ link.url }}" title="{{ link.title }}">{{ link.title }}</a> 
         {% endfor %} 
        </li> 
         {% endif %} 

이 있다고하지만이 관계가 더 아래에, 어떤 아이디어?

답변

0

난 단지 당신이 관련이 생각하는 코드를 포함 가난한 설명뿐만 아니라 기반으로 무슨 일이 일어나고 있는지 이해하지만이 시도하기 위해 노력하고있어

편집 할 수 있습니다.

$('.trigger').on('click',function(e){ 
    var self = this; 

    e.preventDefault(); 

    $(self).find('.sub-link[href="'+self.href+'"]').parent('.accordion').show('fast'); 
}); 

이것은 .trigger에서 대상 href를 얻을 것 같은 href이있는 .sub-link을 찾아, 그 .accordion 부모를 엽니 다.

그래도 원하는 것을 수행하지 못하면 조치의 목표를보다 구체적으로 설명하는 것이 좋습니다.

+0

그래,이 작동하지 않는, 같은 결과입니다. – Shane

+0

나는 도움을 얻기 위해 내 대답을 편집했지만 가비지 쓰레기를 기억합니다. 여전히 원하는 것을하지 않는다면, 코드의 전체를 제공해라. (우리는 첫 번째'for' 루프의 끝 부분을 보지 못한다.) – PlantTheIdea

관련 문제