Files
2024-09-27 02:06:13 +08:00

111 lines
2.3 KiB
JavaScript
Raw Permalink 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.

var timer;
// 下一页
$(".swiper-button-next").onclick = function () {
animation(-520)
}
// 上一页
$(".swiper-button-prev").onclick = function () {
animation(520)
}
// 计算移动距离,和越界处理
function animation(offset) {
var oldOffset = parseInt($(".swiper-wrapper").style.transform.substring(11));
var newOffset = oldOffset + offset;
if (newOffset < -1040) {
newOffset = 0
};
if (newOffset > 0) {
newOffset = -1040
};
DotChange(Math.abs(newOffset / 520))
changeX(newOffset)
}
// 绑定小圆点的点击事件
var dot = $(".swiper-pagination .swiper-pagination-dot")
dot.forEach(function (v,i){
v.onclick = function () {
DotChange(i)
}
})
// 切换小圆点
function DotChange(i) {
dot.forEach(function (val,index){
val.classList.remove("dot-active")
})
dot[i].classList.add("dot-active")
changeX(i*-520)
}
// 让图片动起来
function changeX(x) {
$(".swiper-wrapper").style = `
transform: translateX(${x}px);
`
}
// 鼠标悬浮,清除定时器
$(".swiper-container").onmousemove = function () {
clearInterval(timer)
}
// 鼠标离开,自动播放
$(".swiper-container").onmouseout = function () {
AutoPlay()
}
function AutoPlay() {
// 定时器,自动播放
timer = setInterval(function (){
$(".swiper-button-next").onclick()
}, 1000)
}
AutoPlay()
// 模仿框架jq实现 $ 功能
function $(className) {
var classNameArr = className.split(" ");
if (classNameArr.length == 1) {
return document.querySelector(className)
} else {
// 多类名的时候,获取最后一个类名的上一个类名
var fatherClassName = classNameArr[classNameArr.length-2];
// 获取最后一个类名
var lastClassName = classNameArr[classNameArr.length -1];
var NewArr = []
// 获取父级有多少个子元素
var childrenList = document.querySelector(fatherClassName).children;
// 返回你要的子元素
for (let i = 0; i < childrenList.length; i++) {
if (childrenList[i].className.indexOf(lastClassName.replace(".","")) != -1) {
NewArr.push(childrenList[i])
}
}
return NewArr.length == 1 ? NewArr[0] : NewArr
// // 如果只有一个返回html
// if (NewArr.length == 1) {
// return NewArr[0]
// // 多个直接返回数组
// } else {
// return NewArr
// }
}
}