JavaScript 轮播图代码实现解析:点击切换图片和左右箭头控制
这段代码是一个监听页面加载完成后执行的函数,主要功能是实现一个轮播图效果。具体实现方式为:获取页面中的相关元素(包括左右箭头按钮、轮播图图片列表、轮播图下方的小圆点列表),为小圆点列表添加点击事件,实现点击小圆点切换轮播图图片的功能;同时,为左右箭头按钮也添加点击事件,实现点击左右箭头切换轮播图图片的功能。最后,为默认显示的小圆点添加样式,表示当前显示的是第一张图片。
window.addEventListener('load', function() {
var ss = document.querySelector('.ss');
var zl = document.querySelector('.zl');
var xx = document.querySelector('.xx');
var ul = zl.querySelector('ul');
var ol = zl.querySelector('.zx');
console.log(ul.children.length);
for (var i = 0; i < ul.children.length; i++) {
var li = document.createElement('li');
li.setAttribute('index', i);
ol.appendChild(li);
li.addEventListener('click', function() {
for (var i = 0; i < ol.children.length; i++) {
ol.children[i].className = '';
}
this.className = 'on';
var index = this.getAttribute('index');
num = index;
i = num;
var dd = 350;
ul.style.left = -index * dd + 'px';
})
}
console.log(i);
ol.children[0].className = "on";
var num = 0;
var oo = 0;
var dd = 350;
xx.addEventListener('click', function() {
if (num == 9) {
ul.style.left = 0;
num = -1;
};
num++;
ul.style.left = -num * dd + 'px';
oo++;
if (oo == ol.children.length){
oo = 0;
}
for(var i = 0; i < ol.children.length; i++) {
ol.children[i].className = '';
}
ol.children[oo].className = 'on';
});
ss.addEventListener('click', function() {
if (num < 1) {
ul.style.left = -3150;
num = 10;
};
num--;
ul.style.left = -num * dd + 'px';
oo--;
if (oo < 0){
oo = ol.children.length - 1;
}
for(var i = 0; i < ol.children.length; i++) {
ol.children[i].className = '';
}
ol.children[oo].className = 'on';
});
});
这段代码通过 JavaScript 的 addEventListener 事件监听器,实现了点击小圆点和左右箭头切换图片的功能。代码中使用了 CSS 的 left 属性来控制图片的显示位置,通过改变 left 的值来实现图片的滑动效果。同时,代码还使用了 className 属性来控制小圆点选中状态的显示。
代码解析:
-
获取页面元素
- 使用
document.querySelector获取页面中的相关元素,包括左右箭头按钮、轮播图图片列表和轮播图下方的小圆点列表。
- 使用
-
添加小圆点点击事件
- 使用
addEventListener为每个小圆点添加点击事件,点击事件中实现以下逻辑:- 清除所有小圆点的选中样式。
- 给当前点击的小圆点添加选中样式。
- 获取当前点击小圆点的索引值。
- 根据索引值计算图片的位置,并设置
ul元素的left属性。
- 使用
-
添加左右箭头点击事件
- 使用
addEventListener为左右箭头按钮添加点击事件,点击事件中实现以下逻辑:- 根据点击的按钮方向,增加或减少
num值,num值代表当前显示的图片索引。 - 根据
num值计算图片的位置,并设置ul元素的left属性。 - 更新小圆点选中状态。
- 根据点击的按钮方向,增加或减少
- 使用
-
设置初始状态
- 代码最后设置初始状态,默认显示第一张图片,并设置第一个小圆点为选中状态。
通过以上步骤,就实现了简单的轮播图效果。当然,实际应用中还需要考虑其他因素,比如图片预加载、动画效果、触摸事件等等。
总结:
这段 JavaScript 代码通过监听页面加载事件,获取页面元素,并添加点击事件,实现了简单的轮播图效果。代码简洁易懂,适合初学者学习和参考。想要进一步提升轮播图的功能,可以考虑添加更多动画效果、触摸事件以及图片预加载等功能。
原文地址: https://www.cveoy.top/t/topic/mQhQ 著作权归作者所有。请勿转载和采集!