这是一段JavaScript代码,似乎是为了一个包含导航按钮"pre"和"next"的图像轮播/slider而定义和实现的。
代码初始化了一些变量,并将前一个图像、当前图像和下一个图像的初始类设置为"pre-img"、"cur-img"和"next-img"。
$('#pre').click(function())和$('#next').click(function())是前一个和下一个按钮的点击事件监听器。当点击任一按钮时,代码更新pre、cur和next变量,以更改显示为前一个、当前和下一个的图像。
如果next变量超过可用图像的数量,它将被设置回0。如果cur变量超过可用图像的数量,它也被设置回0。如果pre变量超过可用图像的数量,它将被设置回0。
最后,代码从图像中删除并添加适当的类,以更新它们的显示顺序和样式。
pre cur next分别代表上一张当前下一张在图片数组的下标
几个if主要是判断到了最后一张和第一张,绕回去
如果不是开头结尾,那么下一张就让这些下标都+1,上一张就都-1
这几行代码是用jQuery实现的轮播图效果。具体来说:
$(function(){...})
表示在文档加载完成后执行的jQuery代码块,类似于 window.onload
。
setInterval(function(){...}, 3000)
表示每隔3秒钟执行一次代码块中的操作,即轮播图的自动播放。
.animate()
是jQuery中的动画效果方法,可以实现元素的动态改变。这里使用 .animate({'left': currentLeft - imgWidth}, 500)
实现图片向左移动的效果,其中currentLeft
表示当前轮播图的左侧位置,imgWidth
表示图片的宽度,500表示动画执行的时间为0.5秒。
.css()
方法可以获取或设置元素的CSS属性。这里使用 .css('left', -imgWidth * (imgCount - 1))
设置最后一张图片的左侧位置为 imgWidth * (imgCount - 1)
,即将最后一张图片放到第一张图片的左侧,实现轮播图的循环。
.eq()
方法可以获取元素集合中指定索引位置的元素。这里使用 .eq(currentIndex)
获取当前图片的位置,用于设置小圆点的激活状态。
.addClass()
方法可以为元素添加指定的class属性。这里使用 .addClass('active')
为当前小圆点添加 active
class属性,实现激活状态的样式。
.siblings()
方法可以获取元素集合中除了当前元素以外的其他所有兄弟元素。这里使用 .siblings()
获取除了当前小圆点以外的其他小圆点,用于设置非激活状态的样式。
完整的代码示例如下:
$(function() {
var imgWidth = 520; // 图片宽度
var imgCount = 5; // 图片数量
var currentIndex = 0; // 当前图片索引
var currentLeft = 0; // 当前轮播图的左侧位置
// 自动播放
setInterval(function() {
currentIndex = (currentIndex + 1) % imgCount;
currentLeft -= imgWidth;
if (currentIndex === 0) {
// 如果显示最后一张图片,则瞬间将位置设置为第一张图片的左侧
$('.img-list').css('left', 0);
currentLeft = -imgWidth;
}
$('.img-list').animate({
'left': currentLeft
}, 500);
$('.dot-list li').eq(currentIndex).addClass('active').siblings().removeClass('active');
}, 3000);
});
需要借助vue-cli : vue-cli官网
module.exports = {
// 开启代理服务器
devServer:{
proxy:'http://localhost:5000'
}
}
getUrl() {
axios.get("http://localhost:8080/car").then(
(res) => {
console.log("成功",res.data);
},
(err) => {
console.log("获取失败,",err.message);
}
);
},
注:vue中public目录下的文件默认就是8080下的