在页面加载时禁用 CSS 动画,但每隔一段时间工作一次
Disable CSS animation on page load but work every other time
如何使CSS动画不在页面加载时播放,而是在页面加载时除第一次播放之外每隔一段时间播放一次?我有以下几点:
.anim{
animation: animate 0.6s
}
@keyframes animate{
from{transform: rotate(180deg)}
to{transform: rotate(0deg)}
}
因此,第一次加载页面时,.anim
容器会旋转,但我打算稍后使用 onclick
事件触发旋转。默认情况下应用 anim
类,调用 onclick
事件后,将删除 anim
类,并将另一个具有自己的动画的类应用于该元素。上面的动画旨在作为从anim
类到另一个类的过渡进行播放。如何使其仅在过渡时播放,而不是在页面完成加载时播放?有没有办法在页面加载后使用 JavaScript 应用 anim
类,但阻止动画播放?
修改代码的方式是在发生onclick
事件时将类.anim
到容器。然后将一个animationend
侦听器添加到容器中,该侦听器将在动画结束时添加所需的类。
要动态启动动画,您应该添加应用所述动画的类。您还可以利用在动画元素上触发的"animationend","animationstart"和"animationiteration"事件。在您的特定情况下,您希望播放动画,就在添加另一个类之前,您可能只想有一个执行您想要的操作的类,并添加该类。但是如果你想使用两个分类,你可以这样做。
function addFirstClass(e){
var tar= e.target;
tar.addEventListener('animationend', addSecondClass);
tar.classList.add('className');
}
function addSecondClass(e) {
var tar= e.target;
tar.removeEventListener('animationend', addSecondClass);
tar.classList.remove('className');
tar.classList.add('newClass');
}
相关文章:
- Canvas+svg路径动画,在路径中的特定点暂停一段时间,然后继续
- 收集一段时间内的EMG数据.建议JS
- 在一段时间内切换文本
- 如何停止字幕文本一段时间,然后继续
- HTTP服务器在一段时间后停止(Node.js)
- Hammer.js过了一段时间就停止工作了
- Meteor-在一段时间内解锁模板(按日期)
- 画布在一段时间后开始滞后
- JS-在一段时间后水平移动图像
- AJAX 调用在获得响应并成功执行时会冻结浏览器一段时间
- 表单提交在一段时间循环PHP,jquery
- 一段时间后生成回发
- 一段时间后自动点击提交按钮
- SignalR在一段时间后停止工作
- 在页面加载时禁用 CSS 动画,但每隔一段时间工作一次
- 自动刷新JavaScript功能在一段时间后停止工作
- 为什么setInterval在一段时间后无法正常工作
- setTimeout在我的循环javascript幻灯片函数中工作了一段时间,然后停止延迟
- 为什么这个轮询在空转一段时间后停止工作
- 表行在不工作一段时间后变得褪色