#uikit #accordion #getuikit
#uikit #аккордеон #getuikit
Вопрос:
Как закрыть открыть аккордеон при нажатии на элемент .shewron?
Пример: https://codepen.io/npofopr/pen/vYKKXbJ?editors=1010
let util = UIkit.util;
let lkOrderIconExpand = document.querySelectorAll(".shewron");
util.on(lkOrderIconExpand, "click", function () {
let accordionEl = util.$("[uk-accordion]");
// find closed li array
let allItems = util.$$("[uk-accordion] > li");
// for each element
util.each(allItems, function (el) {
// get index
let openIndex = util.index(el);
// Check if some element has some class
if (util.hasClass(allItems, "uk-open")) {
console.log("Class was found!");
// toggle it
UIkit.accordion(accordionEl).toggle(openIndex);
} else {
console.log("Class was NOT found!");
// toggle it
UIkit.accordion(accordionEl).toggle(openIndex);
}
});
});
Ответ №1:
Вы можете легко сделать это с помощью CSS:
.uk-accordion-title::before{
background-image: url(**icon-url-here);
}
.uk-open > .uk-accordion-title::before{
background-image: url(**icon-url-here);
}
Так что ваши значки шевронов будут отображаться вместо стандартных значков аккордеона.
Комментарии:
1. Нет. Я хотел щелкнуть значок, а не изменить значок.
2. Компонент Accordion уже работает с тегом (accordion-title), вы хотите, чтобы он работал только при нажатии на значок?
3. ДА. Только значок.