<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<style>
* {
margin: 0;
padding: 0;
}
.box {
width: 1200px;
height: 5000px;
overflow: hidden;
background-color: #ccc;
margin: 0 auto;
}
.top {
position: fixed;
width: 1200px;
height: 0;
background-color: red;
transition: height 1s;
}
#nav {
position: fixed;
width: 40px;
text-align: center;
line-height: 20px;
background-color: aqua;
right: 50%;
margin-right: -640px;
bottom: 100px;
}
.banner {
width: 895px;
height: 520px;
margin: 300px auto 0;
border: 1px #fff solid;
overflow: hidden;
}
img {
vertical-align: middle;
}
</style>
<body>
<div class="box">
<div class="top"></div>
<div id="nav">顶部</div>
<div class="banner">
<img src="img/1657022083345.jpg" alt="">
<img src="img/1657790629109.jpg" alt="">
<img src="img/1657790700592.jpg" alt="">
<img src="img/1657790746440.jpg" alt="">
</div>
</div>
</body>
<script>
var _top = document.querySelector('.top');
var _nav = document.getElementById('nav');
var timer = null
window.onscroll = function () {
var str = document.documentElement.scrollTop
if (str >= 100) {
_top.style.height = "100px";
} else {
_top.style.height = 0 + "px";
}
}
_nav.onclick = function () {
clearInterval(timer);
timer = setInterval(() => {
document.documentElement.scrollTop -= 10;
var str = document.documentElement.scrollTop
console.log(str);
if (str === 0) {
clearInterval(timer);
}
}, .1);
}
var _banner = document.querySelector('.banner');
var _img = document.getElementsByTagName('img');
_banner.innerHTML = _banner.innerHTML + _banner.innerHTML;
var timer1 = null;
function autoPlay() {
clearInterval(timer1)
timer1 = setInterval(function () {
_banner.scrollTop++
if (_banner.scrollTop >= _banner.scrollHeight / 2) {
_banner.scrollTop = 0;
}
if (_banner.scrollTop % 519 === 0) {
clearInterval(timer1);
setTimeout(function () {
autoPlay();
}, 1000);
}
}, 1)
}
autoPlay();
_banner.onmouseover = function () {
clearInterval(timer1)
}
_banner.onmouseout = function () {
autoPlay()
}
</script>
</html>