UIKit 3手风琴外部按钮

问题描述

如何关闭\打开按一下.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);
    }
  });
});

解决方法

您可以使用 CSS 轻松实现:

.uk-accordion-title::before{
background-image: url(**icon-url-here);
}
.uk-open > .uk-accordion-title::before{
background-image: url(**icon-url-here);
}

这样您的 V 形图标就会显示,而不是默认的手风琴图标。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...