CSS动画如何中途停止并维持姿态
程序员文章站
2022-06-10 15:18:00
前言我曾经遇到过一个难题. 我需要让一个摆动的房子从塔吊上落下,但点击落下途中,房子需要维持落下瞬间摆动的角度. 当时把我难坏了,刚开始我希望能获取到房子当前摆动的角度,并且在下落的瞬间赋值给房子的t...
前言
我曾经遇到过一个难题. 我需要让一个摆动的房子从塔吊上落下,但点击落下途中,房子需要维持落下瞬间摆动的角度. 当时把我难坏了,刚开始我希望能获取到房子当前摆动的角度,并且在下落的瞬间赋值给房子的transform:rotate(),但这是实在是太麻烦了,不会是最优解.
但其实只要一个属性就能解决这个问题.
animation-play-state
一、仅用css
使用该属性使一段动画在其运动周期中暂停.,并且下次开始时直接从当前这一帧开始. 这是一个动画属性,它对animation属性生效, 你既可以在css中使用它,也可以在js中使用它,同样的方便,至少…比获取角度再赋值好到不知道哪里去.
.xxx { animation-play-state: paused; //该属性一旦被添加,css动画会立即暂停,并且保持于当前帧 } .xxx { animation-play-state: running; //该属性一旦被添加,css动画会立即从当前帧开始运作; }
你可以给一个页面元素添加一个animation,然后设置当hover状态时加上
animation-play-state:paused
动画就会在你鼠标追上那个元素时停止.
二、仅用js
//i等于1时媒体播放并且音符飘动,i等于0时媒体暂停音符暂停. if (i == 1) { right.style.animationplaystate = "paused" audio.pause(); i = 0; } else { right.style.animationplaystate = "running"; audio.play(); i = 1; }
到此这篇关于css动画如何中途停止并维持姿态的文章就介绍到这了,更多相关css动画中途停止内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!
上一篇: Python爬取几千条相亲文案
下一篇: linux系统之进程管理详解