Javascript动画在视频结束前淡出
Javascript animation fade out before video end
我正在尝试播放视频,然后在完成前60秒将div淡出为0不透明度。我所遇到的问题是,在删除div上的动画,允许视频在开始时淡入,实际上关闭了div,(视频)。我想实现的是60秒的淡出。我希望实现的是在不影响视频播放的情况下删除id动画,然后添加时间码,在结束前60秒淡出视频/(div)。我可能没有很好地解释这个,参见JSfiddle。
var callOnce = true;
function aperture(){
if ((media.duration - media.currentTime) < 60)
if (callOnce) {
sync();
callOnce = false;
}
}
function sync(){
"use strict";
var media = document.getElementById("media");
media.classList.add("timecode");
media.classList.remove("animation");
}
setInterval(aperture, 100);
JSFiddle: https://jsfiddle.net/oytqq0jb/
你的时间检测代码是正确的,但是你处理动画的方式是错误的。这里我展示了sync()
和它的CSS动画应该是什么样子:
function sync () {
var video = document.querySelector('.video');
video.classList.add('anim-fade-out');
}
setTimeout(sync, 2000);
.video {
width: 160px;
height: 90px;
background: black;
}
@keyframes fade-out {
to {
opacity: 0;
}
}
.anim-fade-out {
animation: fade-out 1s forwards;
}
<div class="video"></div>
只有当你想开始淡出时才添加动画,没有必要与running
/paused
混淆。一旦添加了类,forward
关键字将在动画完成时保留动画的最后状态,在本例中是opacity: 0
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 音频控件在mouseover上显示,在mouseout上淡出
- 循环结束/推送到数组之前在页面上呈现EJS
- Javascript将图像src更改为淡入淡出
- css(或jQuery)悬停时淡入淡出
- 在另一个函数成功结束后调用该函数
- 将淡入淡出添加到“我的身体背景滑块”
- 在动画结束之前调用函数
- 希望日期开始结束于while循环中的一个房间id的一个数组
- 多重潜水淡入淡出打开
- 使用nunjucks时发生块结束错误
- 添加/删除类淡入淡出不起作用
- 在容器中心滚动时淡出
- 带有计数器、缩略图、进度条和淡入淡出效果的简单jQuery幻灯片
- jQuery图像幻灯片,在停止后淡出到第一张图像
- HTML5获取弧的坐标's结束
- jQuery淡出后停止自动滚动
- 内容结束时停止无限滚动
- 使用jQuery插入HTML页面的第一个项目缺少结束标记
- Javascript动画在视频结束前淡出