【发布时间】:2020-10-13 19:01:29
【问题描述】:
我有两个 CSS 类。一种淡入元素不透明度的class-A(使用CSS3关键帧)。另一个将不透明度淡化回 0 class-B(使用 CSS3 关键帧)。纯 ecmascript 有没有办法在这两个类之间切换?第一次点击时,class-A 加载。如果再次单击它,Class-B 会加载。如果你第三次点击它class-A 加载,等等......
以下是我对切换类的知识范围,与点击事件处理有关......
var anchors = document.querySelectorAll('a');
for (var i = 0, len = anchors.length; i < len; i++) {
anchors[i].addEventListener('click', function (e) {
e.preventDefault();
if (this.classList.contains('my-trigger')) {
document.querySelector('.what-i-am-fading-in-and-fading-out-on-clicks').classList.toggle('class-A');
}
}
};
当我第一次点击我的链接my-trigger 时,很容易淡入元素。但我的最终目标是在元素上进行一个很好的淡出过程,当我的链接被第二次或第四次点击时,等等......我该如何利用这一点?
【问题讨论】:
-
你写的最后一件事让我很困惑,你是想要在不透明度 0 和 1 之间转换,还是要在切换类之前多次按下按钮?
-
抱歉有任何混淆。我想依靠每次点击来转换不透明度。单击时,如果不透明度当前为 0,则它应该变为 1(A 类)。如果不透明度为 1,那么它应该变为 0(B 类)。我敢肯定有很多方法可以做到这一点。出于某种原因,我的想法只是没有注册更多选项。
-
好吧,我想我可能得到了你要搜索的内容。