<!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>
body {
margin: 0;
padding: 0;
outline: 0;
display: flex;
justify-content: center;
align-items: center;
width: 100vw;
height: 100vh;
}
#main {
display: flex;
width: 608px;
height: 380px;
overflow: hidden;
}
#main img {
width: 608px;
height: 380px;
}
</style>
<body>
<div id="main">
<img id="img-1" src="轮播图/1.jpg" alt="">
<img id="img-2" src="轮播图/2.jpg" alt="">
<img id="img-3" src="轮播图/3.jpg" alt="">
<img id="img-4" src="轮播图/4.jpg" alt="">
</div>
</body>
<script>
let main = document.getElementById('main');
let imgs = [];
for (let i = 0; i < 4; i++) {
imgs.push(document.getElementById(`img-${i+1}`));
}
let swiper = async function (img, timeout) {
for (let i = 4; i <= 608; i += 4) {
await new Promise(resolve => setTimeout(resolve, 4)).then(() => {
img.style = `margin-left:${-i}px`
})
}
img.style = "";
main.appendChild(main.removeChild(img));
}
let start = async (gap = 1000) => {
let begin = 0,
end = 4;
while (1) {
await new Promise(resolve => setTimeout(resolve, gap)).then(() => {
swiper(imgs[begin]);
begin++;
})
if (begin == end) begin = 0;
}
}
start(3000);
</script>
</html>