CSS怎么实现CSS动画的暂停与播放
这篇文章主要讲解了“CSS怎么实现CSS动画的暂停与播放”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS怎么实现CSS动画的暂停与播放”吧!
成都创新互联10多年企业网站设计服务;为您提供网站建设,网站制作,网页设计及高端网站定制服务,企业网站设计及推广,对iso认证等多个领域拥有多年的网站运维经验的网站建设公司。
使用纯 CSS 的方法,能否暂停、播放 CSS 动画?看起来不可能,至少很麻烦。
我们知道,在 CSS3 animation 中,有这样一个属性可以暂停、播放动画:
{ animation-play-state: paused | running; }
animation-play-state: 属性定义一个动画是否运行或者暂停。可以通过查询它来确定动画是否正在运行。另外,它的值可以被设置为暂停和恢复的动画的重放。
如果借助 Javascript,我们可以实现控制 CSS 动画的运行和播放,下面列出部分关键代码:
stop
document.querySelector('.btn').addEventListener('click', function() { let btn = document.querySelector('.btn'); let elem = document.querySelector('.animation'); let state = elem.style['animationPlayState']; if(state === 'paused') { elem.style['animationPlayState'] = 'running'; btn.innerText = 'stop'; } else { elem.style['animationPlayState'] = 'paused'; btn.innerText = 'play'; } });
Demo — pause CSS Animation(https://codepen.io/Chokcoco/pen/GWYBdM)
纯 CSS 实现
下面我们探讨下,使用纯 CSS 的方式能否实现。
hover 伪类实现
使用 hover 伪类,在鼠标悬停在按钮上面时,控制动画样式的暂停。
关键代码如下:
stop