let imgArr = ["./lunbopics/shutter_1.jpg", "./lunbopics/shutter_2.jpg", "./lunbopics/shutter_3.jpg", "./lunbopics/shutter_4.jpg"];
let artEle = document.getElementsByTagName("article")[0];
function init() {
let imgEle = document.createElement("img");
imgEle.setAttribute("src", imgArr[0]);
artEle.appendChild(imgEle);
let i1 = document.createElement("i");
i1.setAttribute("data-btn", "qian");
artEle.appendChild(i1);
let i2 = document.createElement("i");
i2.setAttribute("data-btn", "hou");
artEle.appendChild(i2);
}
init();
let i = 0;
function changeIMG() {
++i;
let imgEle = document.getElementsByTagName("img")[0];
let spanEle = document.getElementsByTagName("span");
if (i == imgArr.length) {
i = 0;
}
imgEle.setAttribute("src", imgArr[i]);
for (let item of spanEle) {
item.style.backgroundColor = "gray";
}
spanEle[i].style.backgroundColor = "white";
}
let timer = setInterval(changeIMG, 2000);
artEle.addEventListener("click", clickIMG);
function clickIMG(e) {
let event = e || window.event;
let imgEle = document.getElementsByTagName("img")[0];
let spanEle = document.getElementsByTagName("span");
if (event.target.localName == "i") {
if (event.target.dataset.btn == "hou" && i < imgArr.length - 1) {
i = imgArr.indexOf(imgEle.getAttribute("src")) + 1;
imgEle.setAttribute("src", imgArr[i]);
for (let item of spanEle) {
item.style.backgroundColor = "gray";
}
spanEle[i].style.backgroundColor = "white";
} else if (event.target.dataset.btn == "qian" && i > 0) {
i = imgArr.indexOf(imgEle.getAttribute("src")) - 1;
imgEle.setAttribute("src", imgArr[i]);
for (let item of spanEle) {
item.style.backgroundColor = "gray";
}
spanEle[i].style.backgroundColor = "white";
}
}
if (event.target.localName == "span") {
i = event.target.dataset.index;
imgEle.setAttribute("src", imgArr[i]);
for (let item of spanEle) {
item.style.backgroundColor = "gray";
}
event.target.style.backgroundColor = "white";
}
}
function diandiandian() {
let pEle = document.createElement("p");
for (let index in imgArr) {
let spanEle = document.createElement("span");
spanEle.setAttribute("data-index", index);
pEle.appendChild(spanEle);
if (index == 0) {
spanEle.style.backgroundColor = "white";
}
}
artEle.appendChild(pEle);
}
diandiandian();
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>轮播图</title>
<style>
article {
width: 1000px;
height: 356px;
border: 1px solid red;
margin: auto;
position: relative;
}
i {
position: absolute;
width: 49px;
height: 49px;
top: 170px;
background-image: url("./lunbopics/shutter_prevBtn.png");
}
i:nth-of-type(1) {
left: 5px;
}
i:nth-of-type(1):hover {
background-position: 0 -50px;
}
i:nth-of-type(2) {
right: 5px;
transform: rotate(180deg);
}
i:nth-of-type(2):hover {
background-position: 0 -50px;
}
p {
position: absolute;
bottom: 5px;
right: 50%;
}
span {
display: inline-block;
width: 20px;
height: 20px;
margin-right: 5px;
border-radius: 50%;
background-color: rgb(141, 123, 121);
}
span:hover {
background-color: white;
}
</style>
</head>
<body>
<article>
</article>
<script src="./index3.js"></script>
</body>
</html>