animation-fill-mode
语法:
animation-fill-mode:none | forwards | backwards | both [ ,
none | forwards | backwards | both ]*
默认值:none
适用于:所有元素,包含伪对象:after和:before
继承性:无
取值:
none:
默认值。不设置对象动画之外的状态
forwards:
设置对象状态为动画结束时的状态
backwards:
设置对象状态为动画开始时的状态
both:
设置对象状态为动画结束或开始的状态
说明:
检索或设置对象动画时间之外的状态
如果提供多个属性值,以逗号进行分隔。
对应的脚本特性为animationFillMode。
这个是最简单的方法,
也可以侦听动画结束事件,给元素加个class类名,这个class定义的就是元素结束时的状态的css样式
elevideo.addEventListener('loadedmetadata', function () {
//加载数据//视频的总长度console.log(elevideo.duration)
})
elevideo.addEventListener('play', function () {
//播放开始执行的函数console.log("开始播放")
})
elevideo.addEventListener('playing', function () {
//播放中 console.log("播放中")
})
elevideo.addEventListener('waiting', function () {
//加载console.log("加载中")
})
elevideo.addEventListener('pause', function () {
//暂停开始执行的函数console.log("暂停播放")
})
elevideo.addEventListener('ended', function(){
//结束console.log("播放结束")
}, false)
在JS中获取video标签,并监听它的loadeddata事件。loadeddata是指当媒体当前播放位置的帧完成加载时触发该事件,通常是第一帧。
在监听 loadeddata 中指定事件触发时执行的函数,我们的实现截取第一帧就在这里面编写。
首先定义创建一个 canvas 标签;其次指定 canvas 标签的宽高;最后调用canvas元素中的getContext方法。