【发布时间】:2020-07-07 10:40:06
【问题描述】:
我的目的是在每次浏览器选项卡处于活动状态时为 DIV 框设置动画(意味着我将选项卡切换到其他选项卡并返回到此选项卡),因为我正在添加 addEventListener 和它的工作但只有一次,而不是每次.
但是当我在 chrome 中打开开发者工具时,它每次都可以工作。
查看此视频以更好地了解我的问题:https://youtu.be/9Uvm__ln6zE
JS Class remove 无法正常工作,Dev Tools 问题
document.addEventListener("visibilitychange", () => {
if(document.visibilityState === "visible" ){
var element = document.getElementById("topHeading");
element.classList.add("r1");
}
else{
var element = document.getElementById("topHeading");
element.classList.remove("r1");
}
});
.r1 {
background-color: lightgrey;
width: 300px;
height: 50px;
border: 6px solid green;
padding: 10px;
text-align: center;
visibility: visible;
}
.r2 {
background-color: red;
}
.r1 {
animation: bounceInRight 1400ms both
}
@keyframes bounceInRight {
from,
60%,
75%,
90%,
to {
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
from {
opacity: 0;
transform: translate3d(3000px, 0, 0);
}
60% {
opacity: 1;
transform: translate3d(-25px, 0, 0);
}
75% {
transform: translate3d(10px, 0, 0);
}
90% {
transform: translate3d(-5px, 0, 0);
}
to {
transform: translate3d(0, 0, 0);
}
}
<div id="topHeading">
This text is the content of the box..
</div>
提前致谢
【问题讨论】:
-
这里是codepen链接:codepen.io/rksbhl/pen/QWymqGo
-
不,我也试过这个,但问题没有解决:只需在这个问题窗口选项卡中打开你的检查元素,然后切换到选项卡并返回到这个选项卡,你就会明白问题
标签: javascript html css