vue+js实现视频淡入淡出效果

vue+js实现视频的淡入淡出,供大家参考,具体内容如下

一个简单的视频淡入淡出效果如图

小编直接上代码了有兴趣可以拷贝运行一下,谢谢

<template>

<div class="video-css">

<div class="videocss" ref="videodom" style="background-color:black;">

<video width="100%" ref="play" style="opacity: 1" :src="videoSrc2"></video>

</div>

<div class="video-but">

<el-button type="primary" @click="play()">播放</el-button>

<el-button type="primary" @click="pause()">暂停</el-button>

<el-button type="primary" @click="fadeIn(100)">淡入</el-button>

<el-button type="primary" @click="fadeOut(100)">淡出</el-button>

</div>

</div>

</template>

<script>

export default {

data() {

return {

videoSrc: require('../../assets/web_1496003377.mp4'),

videoSrc2: require('../../assets/video.mp4')

}

},

methods: {

play() {

this.$refs.play.play()

},

pause() {

this.$refs.play.pause()

},

fadeIn(speed) {

let that = this

var speed = speed || 30 ;

var num = 0;

var st = setInterval(function(){

num++;

that.$refs.play.style.opacity = num/10;

if (num>=10) {

clearInterval(st);

}

}, speed);

},

fadeOut(speed) {

let that = this

var speed = speed || 30 ;

var num = 10;

var st = setInterval(function(){

num--;

that.$refs.play.style.opacity = num / 10 ;

if (num<=0){

clearInterval(st);

}

}, speed);

}

}

}

</script>

<style lang="less" scoped>

.video-css {

.videocss {

width: 800px;

height: 450px;

display: flex;

justify-content: center;

}

.video-but {

display: flex;

margin-top: 20px;

justify-content: flex-start;

align-content: flex-start;

}

}

</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是 vue+js实现视频淡入淡出效果 的全部内容, 来源链接: utcz.com/p/239547.html

回到顶部