2014-02-07 45 views
0

我想做一個菜單,當你點擊一個鏈接的子菜單顯示使用jQuery。問題在於子菜單來自shopify中的循環。所以,當我點擊觸發所有子菜單打開,我想我需要的每一個和這一點,但不知道在哪裏這裏是一些代碼:jquery點擊選擇器和for循環瘋狂在shopify

<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