Files
ClassContent/历届学生/front-end-team-10/项目练习/学生项目/韩孟雪/2023-2-28/banner_1.html
2024-09-27 02:06:13 +08:00

194 lines
4.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>banner_1</title>
<link rel="stylesheet" href="http://at.alicdn.com/t/c/font_3889063_w9zrujr1cf.css">
<style>
* {
margin: 0;
padding: 0;
list-style: none;
border: 0;
}
.banner {
width: 560px;
height: 315px;
background: rgb(190, 165, 165);
margin: 0 auto;
overflow: hidden;
position: relative;
}
.banner .banner_ul {
display: flex;
position: absolute;
transition: all 1s;
}
.banner_ul li {
width: 560px;
height: 315px;
}
.banner_ul li img {
width: 560px;
height: 315px;
}
.button {
width: 100%;
position: absolute;
top: 50%;
transform: translateY(-50%);
display: flex;
justify-content: space-between;
font-size: 30px;
}
.button div {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 50px;
background: #00000061;
font-size: 20px;
color: #fff;
cursor: pointer;
}
.button div:last-child{
transform: rotate(-90deg);
}
.banner_dot {
position: absolute;
bottom: 5px;
left: 50%;
transform: translatey(-50%);
width: 100%;
display: flex;
}
.banner_dot i {
width: 13px;
height: 13px;
border-radius: 50%;
background: #fff;
margin-left: 5px;
cursor: pointer;
}
.banner_dot i:first-child {
margin-left: 0;
}
.banner_dot .active {
background: red;
}
</style>
</head>
<body>
<div class="banner">
<ul class="banner_ul" style="left: 0px">
<li><img src="https://img.alicdn.com/imgextra/i4/6000000001058/O1CN017HPzlT1Jgbr6Rvc4X_!!6000000001058-0-octopus.jpg"
alt=""></li>
<li><img src="https://img.alicdn.com/imgextra/i4/6000000003739/O1CN01ks7Fjr1dUVhwWXLWB_!!6000000003739-0-octopus.jpg"
alt=""></li>
<li><img src="https://img.alicdn.com/imgextra/i1/6000000003795/O1CN01g3s9jf1du9t00iRTU_!!6000000003795-0-octopus.jpg"
alt=""></li>
</ul>
<div class="button">
<div class="button_left iconfont icon-zhankai-copy"></div>
<div class="button_right iconfont icon-zhankai"></div>
</div>
<div class="banner_dot">
<i class="active"></i>
<i></i>
<i></i>
</div>
</div>
</body>
<script>
//轮播图
//点击按钮向左移动,向右移动
//小图标跟随点击移动
var buttonLeft = $(".button_left"),
buttoRight = $(".button_right"),
buttonUl = $(".banner_ul"),
active = _(".active");
banner_dot = _(".banner_dot i")
var gtime = null;
buttonLeft.onclick = () => {
sport(560)
}
buttoRight.onclick = () => {
sport(-560)
}
banner_dot.forEach((v, i) => {
v.onclick = () => {
changeActive(i);
}
})
$(".banner").onmouseover = () => {
clearInterval(gtime)
}
$(".banner").onmouseout = () => {
auto()
}
function changeActive(i) {
banner_dot.forEach(val => {
val.classList.remove("active");
})
banner_dot[i].classList.add("active");
//console.log(i);
//sport(i * 560)
buttonUl.style.left = `${i * -560}px`
}
function sport(offset) {
var oldLeft = parseInt(buttonUl.style.left);
var newLeft = `${oldLeft + offset}px `
//console.log(parseInt(newLeft));
if (parseInt(newLeft) >= -1120 && parseInt(newLeft) <= 0) {
changeActive(parseInt(newLeft) / -560)
}
//向左最大移动到1120,向右最大-1120 >=0 || <=1260
if (parseInt(newLeft) >= -1120 && parseInt(newLeft) <= 0) {
buttonUl.style.left = newLeft;
} else {
newLeft = `${0}px`
buttonUl.style.left = newLeft;
}
changeActive(parseInt(newLeft) / -560)
}
function auto() {
gtime = setInterval(() => {
buttoRight.onclick()
}, 2500)
}
auto()
function $(className) {
return document.querySelector(className);
}
function _(className) {
return document.querySelectorAll(className);
}
</script>
</html>