Html图片轮播遍历,javaScript 简单轮播图实现

本文介绍如何使用JavaScript和CSS实现一个响应式的图片轮播组件,包括左右按钮控制和小圆点导航。通过实例代码演示了如何通过点击事件管理图片切换,并实时更新小圆点指示当前显示的图片位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Document

.crousel

{

width:1500px;

height: 500px;

margin: auto;

position: relative;

overflow: hidden;

}

.imgCon{

width:7500px;

height: 500px;

position: absolute;

font-size: 0;

transition: all 0.5s;

left:0;

}

.imgCon>img{

width:1500px;

height: 500px;

}

.leftBn,.rightBn{

position: absolute;

top:220px;

}

.leftBn{

left:50px;

}

.rightBn{

right: 50px;

}

ul{

list-style: none;

position: absolute;

margin: 0;

padding: 0;

bottom: 50px;

left:640px;

}

li{

width: 28px;

height: 28px;

border: 2px solid #FF0000;

float: left;

border-radius: 50%;

margin-left: 20px;

}

li:nth-child(1){

margin-left: 0;

}

.clear::after

{

content: "";

height: 0;

display: block;

visibility: hidden;

clear: both;

}

.clear{

zoom: 1;

}

a.jpeg

b.jpeg

c.jpeg

d.jpeg

e.jpeg

left.png

right.png

var imgCon,leftBn,rightBn,list,prevDot;

var pos=0;

init();

function init(){

// 获取所有图片容器,左右按钮

imgCon=document.querySelector(".imgCon");

leftBn=document.querySelector(".leftBn");

rightBn=document.querySelector(".rightBn");

// 将所有li获取并且转换为数组

list=Array.from(document.querySelectorAll("li"));

// 给左右按钮增加点击事件

leftBn.οnclick=clickHandler;

rightBn.οnclick=clickHandler;

// list是所有小圆点的数组,遍历这个数组

list.forEach(function(item){

// 给每个小圆点增加点击事件

item.οnclick=dotClickHandler;

});

changeDot();

}

function clickHandler(){

// 如果点击左边的按钮

if(this===leftBn){

pos--;

if(pos<0) pos=4;

}else{

// 如果点击了右边的按钮

pos++;

if(pos>4) pos=0;

}

imgCon.style.left=pos*-1500+"px";

changeDot();

}

function dotClickHandler(){

// this就是被点击的元素,list是所有小圆点的数组

// 查找当前点击小圆点是数组中第几个,这个第几个正好就是我们要显示第几张图片

pos=list.indexOf(this);

imgCon.style.left=pos*-1500+"px";

changeDot();

}

function changeDot(){

// 如果上一个小圆点变量存在时

if(prevDot){

// 设置上一个小圆点的背景色透明

prevDot.style.backgroundColor="rgba(255,0,0,0)";

}

// list是小圆点的数组,pos是当前应该显示第几张图

// 将上一个小圆点变量设置为当前这个小圆点数组中对应的那个小圆点

prevDot=list[pos];

// 并且设置当前这个小圆点背景色为红色

prevDot.style.backgroundColor="rgba(255,0,0)";

}

效果图

baba4401c4bd603c8936ff71da5d3ddd.png

Like

Like

Love

Haha

Wow

Sad

Angry

7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值