first commit

This commit is contained in:
编码猿
2024-09-27 02:06:13 +08:00
commit 852d94fbb9
36760 changed files with 3274413 additions and 0 deletions

View File

@@ -0,0 +1,194 @@
<!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>

View File

@@ -0,0 +1,80 @@
*{
margin: 0;
padding: 0;
list-style: none;
}
.list img{
/* width: 100px; */
height: 141px;
}
.preview{
width: 100vw;
height: 100vh;
position: absolute;
left: 0;
top: 0;
display: flex;
align-items: center;
justify-content: center;
/* display: none; */
overflow: hidden;
}
.preview .zz{
width: 100%;
height: 100%;
background: #000000c4;
}
.preview img{
position: absolute;
/* width: 350px; */
/* height: 496px; */
/* transform: translate(-50%,-50%); */
user-select: none;
transition: all 0.5s;
}
.preview .icon-close{
font-size: 45px;
color: #fff;
position: absolute;
right: 22px;
top: 19px;
}
.preview .button{
width: 100%;
position: absolute;
top: 50%;
display: flex;
justify-content: space-between;
padding: 0 15px;
box-sizing: border-box;
z-index: 2;
}
.button i{
font-size: 35px;
color: #fff;
}
.icon_list{
position: absolute;
bottom: 30px;
display: flex;
left: 50%;
background: #000000d9;
transform: translateX(-50%);
padding: 10px 28px;
border-radius: 30px;
box-sizing: border-box;
z-index: 2;
}
.icon_list i{
font-size: 28px;
color: #fff;
margin-left: 24px;
}
.icon_list i:first-child{
margin-left: 0;
}
.icon-yulanxuanzhuan:last-child{
transform: rotateY(180deg);
/* transform: rotate(-); */
}

View File

@@ -0,0 +1,158 @@
<!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>大图预览</title>
<link rel="stylesheet" href="http://at.alicdn.com/t/c/font_3445167_gwp92uwquwa.css">
<link rel="stylesheet" href="./preview.css">
</head>
<body>
<div class="list">
<img src="https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg" alt="">
</div>
</body>
<script>
var list_img = _(".list img");
var scaleNum = 1, rotateNum = 0;
var startX = null, startY = null, oldLeft = null, oldTop = null;
var MoveStatus = false;//是否触发事件
//js生成页面
list_img.forEach(v => {
v.onclick = () => {
// preview.style.display = "block"
$("body").insertAdjacentHTML("beforeend", `
<div class="preview">
<div class="zz"></div>
<img style="transform : scale(${scaleNum}) rotate(${rotateNum}deg); height: 100%; margin-left: 0px; margin-top: 0px;" src="https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg" alt="">
<i class=" iconfont icon-close"></i>
<div class="button">
<i class="iconfont icon-fanhui"></i>
<i class="iconfont icon-gengduo"></i>
</div>
<div class="icon_list">
<i class="iconfont icon-suoxiao"></i>
<i class="iconfont icon-fangda"></i>
<i class="iconfont icon-quanping qp"></i>
<i class="iconfont icon-yulanxuanzhuan left"></i>
<i class="iconfont icon-yulanxuanzhuan right"></i>
</div>
</div>
`);
$(".icon-close").onclick = () => {
$("body").removeChild($(".preview"))
}
$(".icon-suoxiao").onclick = () => {
scaleNum = scaleNum - 0.2 < 0.2 ? 0.2 : scaleNum - 0.2
revolve()
}
$(".icon-fangda").onclick = () => {
scaleNum += 0.2
revolve()
}
$(".left").onclick = () => {
rotateNum -= 90
revolve()
}
$(".right").onclick = () => {
rotateNum += 90
revolve()
}
//图标切换
$(".icon-quanping").onclick = () => {
//contains() 方法用于判断字符串中是否包含指定的字符或字符串。
if ($(".qp").classList.contains("icon-quanping")) {
//全屏替换为1:1
$(".qp").classList.replace("icon-quanping", "icon-beijingyibiyi")
//图片改为默认大小
$(".preview img").style.height = "auto"
} else {
//改为全屏
$(".qp").classList.replace("icon-beijingyibiyi", "icon-quanping")
$(".preview img").style.height = "100%"
}
}
//鼠标事件
//鼠标按下
$(".preview img").onmousedown = (e) => {
MoveStatus = true;
e.preventDefault();//阻止默认事件
e.stopPropagation();//事件冒泡
startX = e.x;
startY = e.y;
//console.log(startX,startY);
oldLeft = parseInt($(".preview img").style.marginLeft);
oldTop = parseInt($(".preview img").style.marginTop);
// 鼠标按下时 并且鼠标移动
$(".preview img").onmousemove = (e) => {
//console.log(".preview img");
MouseMove(e)
}
//鼠标按键被松开 图片禁止移动
$(".preview img").onmouseup = () => {
MoveStatus = false;
$(".preview img").onmousemove = null
}
}
//鼠标从某元素移开
$(".preview img").onmouseout = () => {
if (MoveStatus) {
// console.log("preview");
$(".preview").onmousemove = (e) => {
MouseMove(e)
}
}
}
//鼠标按键被松开
$(".preview").onmouseup = () => {
MoveStatus = false;
$(".preview img").onmousemove = null
$(".preview").onmousemove = null
}
}
})
//图片移动
function MouseMove(e) {
// console.log("3 status: ", status);
e.preventDefault();
e.stopPropagation();
var moveX = e.x, moveY = e.y;
var offsetX = moveX - startX, offsetY = moveY - startY;
//console.log("移动数值:", offsetX, offsetY);
$(".preview img").style.marginLeft = `${offsetX + oldLeft}px`;
$(".preview img").style.marginTop = `${offsetY + oldTop}px`;
}
//旋转
function revolve() {
$(".preview img").style.transform = `scale(${scaleNum}) rotate(${rotateNum}deg)`
}
function $(className) {
return document.querySelector(className)
}
function _(className) {
return document.querySelectorAll(className)
}
</script>
</html>

View File

@@ -0,0 +1,214 @@
<!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 li {
width: 13px;
height: 13px;
border-radius: 50%;
background: #fff;
margin-left: 5px;
cursor: pointer;
}
.banner_dot li: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>
<ul class="banner_dot">
<li class="active"></li>
<li></li>
<li></li>
</ul>
</div>
</body>
<script>
//轮播图
//点击按钮向左移动,向右移动
//小图标跟随点击移动
var buttonLeft = $(".button_left"),
buttoRight = $(".button_right"),
buttonUl = $(".banner_ul"),
active = _(".active");
banner_dot = _(".banner_dot li")
var gtime = null;
var index = 0;
buttonLeft.onclick = () => {
sport(-1)
}
buttoRight.onclick = () => {
sport(1)
}
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");
buttonUl.style.left = `${i * -560}px`
index = i
//console.log(index);
}
function sport(offset) {
//通过下标的方式改变轮播图移动
index += offset
//边界判断
if( index <0){
index = 2
}
if(index >2){
index = 0
}
// console.log("index",index);
if(index >= 0 && index <=2){
changeActive(index)
}
// console.log("index",index);
// if(index >=-2 && index <=0 ){
// changeActive(index)
// }
// //console.log(parseInt(newLeft));
//通过改变left值改变轮播图移动
// var oldLeft = parseInt(buttonUl.style.left);
// var newLeft = `${oldLeft + offset}px `
// 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>