我有以下代码,点击切换列表即可打开/关闭。这工作正常,除非您单击列表中的链接并且页面刷新时列表不会保持打开状态,但它会关闭。
我实际上是想让它在Shopify主题中工作,所以我很难证明发生了什么。我认为可能是evt.preventDefault();
在谷歌搜索后无法正常工作,但我对此并不满意,所以不完全确定。
我试图让jsFiddle努力证明什么是黑客,但无法复制问题。
如果有人有任何可能出错的建议我会很感激。
JS
timber.sidebarSublist = function () {
timber.cache.$sidebarSublistTrigger.on('click', function(evt) {
var $el = $(this);
evt.preventDefault();
$el.toggleClass('is-active').next('.sidebar__sublist').slideToggle(200);
});
};
液体
{% assign child_list_handle = link.title | handleize %}
{% if linklists[link.handle] == empty %}
<li>
<a href="{{ link.url }}" class="{% if link.url == active_url %} is-active{% endif %}">{{ link.title }}</a>
</li>
{% else %}
<li aria-haspopup="true">
<a href="{{ link.url }}" class="sidebar__sublist-trigger sidebar-sublist__has-dropdown {% unless template == 'index' %}{% if link.url == active_url %} is-active{% endif %}{% endunless %}">
{{ link.title }}
<span class="icon-fallback-text sidebar__sublist-expand">
<span class="icon icon-plus" aria-hidden="true"></span>
<span class="fallback-text">+</span>
</span>
<span class="icon-fallback-text sidebar__sublist-contract">
<span class="icon icon-minus" aria-hidden="true"></span>
<span class="fallback-text">-</span>
</span>
</a>
<ul class="sidebar__sublist sidebar-sublist__content">
{% for childlink in linklists[child_list_handle].links %}
<li>
<a href="{{ childlink.url }}">
{{ childlink.title | escape }}</a>
</li>
{% endfor %}
</ul>
</li>
{% endif %}