实现效果
实现思路
通过分析ElementUI官网,发现是用两张图片结合滚动条的位置来实现图片变色的效果
我们通过监听当前滚动条的位置,来控制第二张图片的高度,覆盖到第一张图片上
最终实现这个效果
实现代码
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head>
<style>body {margin: 0 auto;padding: 0;}.root {height: 1600px;display: flex;flex-direction: column;align-items: center;}.jumbotron-red {margin-top: -535px;z-index: 2;overflow: hidden;}
</style>
<body>
<div class="root"><div style="margin-top: 260px"><img src="./img/1.png" alt="" width="890" height="530"/></div><div class="jumbotron-red" style="height: 0;"><img src="./img/2.png" alt="" width="890"/></div>
</div>
<script>const jumbotron = document.querySelector(".jumbotron-red")document.addEventListener("scroll", e => {jumbotron.style.height = window.scrollY * 1.3 + "px"if (jumbotron.offsetHeight > 530) {jumbotron.style.height = "530px"}})
</script>
</body>
</html>