给大家分享一个用原生JS实现全屏视频背景滚动淡出,效果如下 :
以下是代码实现,欢迎大家复制粘贴和收藏。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>原生JS实现全屏视频背景滚动淡出</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: '微软雅黑', sans-serif;
}
body {
background: #000;
}
section {
position: relative;
width: 100%;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
padding: 100px;
}
section video {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
pointer-events: none;
}
section h2 {
position: relative;
color: #fff;
font-size: 3em;
}
section p {
position: relative;
color: #fff;
font-size: 1.2em;
}
</style>
</head>
<body>
<section>
<video src=" https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/bg3.mp4" muted autoplay
loop></video>
</section>
<section>
<div class="content">
<h2>以劳动书写人生风采</h2>
<p>
中华民族是一个热爱劳动的民族,劳动精神自古以来就流淌在中国人民的血脉之中,去不掉、打不破、灭不了。“幸福是奋斗出来的”,个人追求的实现,离不开不懈奋斗劳动;家国复兴的使命,也只有靠劳动来成就。
</p>
</div>
</section>
<script>
let video = document.querySelector('video')
window.addEventListener('scroll', function () {
let value = 1 + window.scrollY / -600
video.style.opacity = value
})
</script>
</body>
</html>