【发布时间】:2018-06-05 14:06:15
【问题描述】:
我希望移动菜单上的向下箭头旋转 180 度并在点击时面朝上。我还想为旋转设置动画以实现平滑过渡。我正在使用 Javascript 在我的“.fa-angle-down”字体真棒类上切换“.js-rotate”类。
JS 函数的最后一行控制了这个行为:
nav.addEventListener('click', (e) => {
if (e.target.classList.contains('nav-list-drawer__btn')) {
e.target.classList.toggle('js-nav-list-drawer__btn');
e.target.nextElementSibling.classList.toggle('js-nav-list-drawer__list');
e.target.parentElement.classList.toggle('js-nav-list-drawer');
e.target.firstChild.classList.toggle('js-rotate'); // breaks on IE11. Place last so code before it is parsed before the entire function breaks and pauses
}
});
我尝试添加“过渡:变换 1s;”到“.fa-angle-down”,但我没有运气。
CSS 可通过 sass/components/_navigation.scss 在以下链接中获得:https://codepen.io/eliya33/project/editor/XpgvJo
【问题讨论】:
-
不确定如何复制 codepen 项目或使其不是只读的
-
一定要JS吗,可以用CSS吗?
-
啊。完全可以理解,因为我也不确定哈哈。
-
@Jordan.J.D 你可以在顶部菜单中分叉它。
-
每次单击按钮时都会触发转换,因此如果它已经旋转,它将从 0 度重新开始并旋转回 180 度,而不是相反。您可能会看到那里发生了什么。看看我的回答:)
标签: javascript html css font-awesome