18910140161

HTML-Safari在页面加载后仅加载一次JavaScript和CSS动画-堆栈溢出

顺晟科技

2022-10-18 13:14:57

76

我在一个网站上创建一个登录弹出窗口。我刚刚注意到,当使用Safari多次打开弹出窗口(打开和关闭它)时,只有在页面加载后第一次打开模式时才会显示动画。在Chrome中,一切都运行得很好,每次都会显示动画。我在这个CodePen中简化了这个问题,这个问题也很明显。https://codepen.io/bvonr/pen/bazvxxk.这种行为的原因是什么?我怎样才能解决这个问题,让动画不仅在Chrome中,而且在Safari中一直显示?我假设问题出在我的CSS的这些行中。

<代码>.动画{动画:缩放0.6s}@关键帧缩放{从{转换:缩放(0)}到{变换:缩放(1)}}

顺晟科技:

在我的页面加载之前发生的事情的

常见解决方案是侦听页面已加载事件,然后执行以下操作:

.animate {
    animation: zoom 0.6s
}
@keyframes zoom {
    from {transform: scale(0)}
    to {transform: scale(1)}
}
仅当加载了整个页面和所有相关资源时,才会触发

此事件。加载事件

关于你的CSS,它似乎很好,如果这不能解决它,你可以尝试在页面卸载之前,通过侦听正确的事件,然后在它触发时删除类,从你的元素和动画中删除类,但这似乎很奇怪,你需要这样做。卸载事件

我也会检查这个网页:https://caniuse.com/?search=animations

我希望这能有所帮助,如果没有,我很抱歉。

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航