Я использую шрифт awesome, чтобы поместить стрелки в меню боковой панели аккордеона. Дополнительный {liquid code}
от Shopify. У меня возникла проблема правильно переключить мой <i class="">
, поскольку класс может зависеть от того, активна ли ссылка или нет.Toggle font awesome icon if active?
Я пытаюсь иметь только активный или открытый <i>
, чтобы быть фа-уголком, а остальные - угол-вниз.
HTML
<div id="accordian">
<ul>{% for link in linklists.shop.links %}
<li class="{% if link.active %}active{% endif %}">
<h3>{{ link.title | escape }}
<span><i class={% if link.active %}"fa fa-angle-up" aria-hidden="true"{% else %}"fa fa-angle-down" aria-hidden="true"{% endif %}></i></span>
</h3>
</li>
</ul>
</div>
Jquery
$(document).ready(function(){
$("#accordian h3").click(function(){
$(this).find('i').toggleClass('fa-angle-down fa-angle-up');
$("#accordian ul ul").slideUp();
if(!$(this).next().is(":visible"))
{
$(this).next().slideDown();
}
})
});
вы используете JQuery аккордеон? если это так, вы можете просто изменить класс в функции активации: http://api.jqueryui.com/accordion/#event-activate, а не пытаться создать собственное событие click – Pete
. В чем проблема? ошибки консоли? или класс не переключается? – bitten
Я думаю, вам нужно переименовать 'accordian' в' accordion' – Banzay