JS实现图片轮播(方法一)

article/2025/11/10 9:10:29

效果如下:
在这里插入图片描述
下面是具体的实现代码:

  • HTML代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>轮播</title><link rel="stylesheet" href="index.css"><script src="index.js"></script>
</head>
<body><div class="lunbo"><div class="scroll"><!-- 图片展示 --><img src="image/1.png" class="img current"><img src="image/2.png" class="img"><img src="image/3.png" class="img"><img src="image/4.png" class="img"><img src="image/5.png" class="img"><!-- 左右箭头的展示 --><div class="left"></div><div class="right"></div>    <!-- 小圆点展示 --><div class="dots"><span class="square"></span><span></span><span></span><span></span><span></span></div></div></div>
</body>
</html>
  • CSS代码
.lunbo {width: 100%;margin:0;text-align: center;
}.lunbo .scroll {position: relative;display: inline-block;width: 100%;
}.lunbo .scroll .img {display: none;width: 100%;height: 100%;
}.lunbo .scroll .current {display: block;
}.scroll .left {position: absolute;top: 50%;left: 100px;background-image: url('image/left.png');background-position: -83px 0;width: 41px;height: 69px;cursor: pointer;transform: translateY(-50%);
}.scroll .right{position: absolute;top: 50%;right: 100px;background-image: url('image/right.png');background-position: -123px 0;width: 41px;height: 69px;cursor: pointer;transform: translateY(-50%);
}.dots {position: absolute;bottom: 10px;left: calc(50% - 80px);width: 160px;
}.dots>span {display: inline-block;box-sizing: border-box;width: 20px;height: 20px;border: 2px solid rgba(170,170,170,0.3);border-radius: 15px;cursor: pointer;
}/* 小圆点的颜色 */
.dots .square {background-color: #f30404;
}
  • JS代码
window.addEventListener('load', function() {//获取左右箭头var leftArrow = this.document.querySelector('.left');var rightArrow = this.document.querySelector('.right');// 获取图片 和 小点var imgs = this.document.querySelectorAll('.img');var dots = this.document.querySelector('.dots').querySelectorAll('span');// 给图片添加index 属性,方便判断当前的图片是哪一张for (let i = 0; i < imgs.length; i++) {imgs[i].setAttribute('data-index', i);}// 获取当前图片 和 图片的数组下标var current = this.document.querySelector('.current');var currentIndex = current.getAttribute('data-index');// 左箭头的点击事件,点击了就返回前一张图片 // 如果当前图片为第一张那么需要更换到最后一张图片也就是第四张leftArrow.addEventListener('click', function() {if (currentIndex > 0) {imgs[currentIndex].classList.remove('current');dots[currentIndex].classList.remove('square');imgs[--currentIndex].classList.add('current');dots[currentIndex].classList.add('square');} else {imgs[currentIndex].classList.remove('current');dots[currentIndex].classList.remove('square');currentIndex = 4;imgs[currentIndex].classList.add('current');dots[currentIndex].classList.add('square');}});// 点击右箭头下一张图片切换// 如果当前为第五张图片,那么切换回第一张图片rightArrow.addEventListener('click', changeImage);//2秒切换一张照片var timer = this.setInterval(changeImage, 2000);function changeImage(){if (currentIndex < 4) {imgs[currentIndex].classList.remove('current');dots[currentIndex].classList.remove('square');imgs[++currentIndex].classList.add('current');dots[currentIndex].classList.add('square');} else {imgs[currentIndex].classList.remove('current');dots[currentIndex].classList.remove('square');currentIndex = 0;imgs[currentIndex].classList.add('current');dots[currentIndex].classList.add('square');}}// 小圆点的点击事件for (let k = 0; k < dots.length; k++) {dots[k].setAttribute('data-index', k);dots[k].addEventListener('click', function() {var index = this.getAttribute('data-index');if (index != currentIndex) {imgs[currentIndex].classList.remove('current');dots[currentIndex].classList.remove('square');imgs[index].classList.add('current');dots[index].classList.add('square');currentIndex = index;}})}});

http://chatgpt.dhexx.cn/article/EaAGos2w.shtml

相关文章

js实现图片自动轮播

今天有人问我这个问题&#xff0c;我就顺便把这个记下来&#xff0c;分享给大伙。 如图&#xff0c;就是图片自己轮播&#xff0c;并且图中中下方的白点也发生变化&#xff0c;图片到哪&#xff0c;白点就到哪&#xff0c;就直接上代码了 <!DOCTYPE html PUBLIC "-//W3…

js图片轮播效果实现代码

这篇文章主要介绍了js图片轮播效果实现代码&#xff0c;文章对每一步进行了详细阐述&#xff0c;标注注意事项&#xff0c;为顺利实现js图片轮播效果做好铺垫&#xff0c;对轮播效果感兴趣的朋友可以参考一下 首先给大家看一看js图片轮播效果&#xff0c;如下图 具体思路&#…

Javascript实现图片轮播效果。

用js做一个简单的图片轮播效果。 思路如下:用JavaScript来控制轮播的图片的样式(margin-left)。用计时器来控制图片的自动播放。鼠标点击控制图片的翻页。 效果图如下。具有以下功能:1.自动图片轮播 2.左右切换图片 3.底下小按钮切换图片。 话不多说,代码如下。 首先肯定是…

JavaScript 实现图片轮播

今天给大家介绍下怎么用 JS 实现图片轮播效果。 原理描述&#xff1a; 使用JS实现轮播的原理是这样的&#xff1a; 假设初始的情况&#xff0c;下图一个网格代表一个图&#xff0c;初始时&#xff0c;显示1 &#xff1a; 当进行一次轮播后&#xff0c;显示变为下图 显示2&…

JavaScript实现图片自动轮播

目录 1.轮播图片 1.1图片切换功能 1.2定时器功能 1.3图片自动轮播实现 2.页面定时弹出广告 2.2 技术分析 2.3步骤分析 2.4代码实现 3.表单校验 3.1需求分析 3.2技术分析 3.3校验邮箱 3.3.1从外部引入js文件&#xff08;一些匹配函数&#xff09; JS&#xff1a;是…

html js简单实现图片轮播功能

本章记录简单的图片轮播功能&#xff0c;需要html、js和css共同实现1、html文件<!DOCTYPE html> <html><head><meta charset"UTF-8"><link rel"stylesheet" type"text/css" href"css/text.css"/><sc…

js轮播图 最简单代码

js轮播图 最简单代码 今天来分享一篇js最简单轮播图轮播图&#xff0c;用最简单的代码实现&#xff1a; 首先&#xff0c;建立一个HTML文件&#xff0c;插入img标签&#xff0c;这里我们定义图片id为pic 然后使用document.getElementByid()获取img标签的id&#xff0c;并且定…

html+css+js实现图片轮播

html代码 原理是通过 overflow: hidden; 将ul的宽带属性设置为轮播图片的个数*100%&#xff0c;从而这个属性来使得div中只充斥 一个li&#xff1b;通过js让margin-left的值改变来实现图片轮播&#xff1b; <body><div class"warp"><div class"…

JS实现图片轮播效果(自动和手动)

本次轮播效果图如下&#xff1a; 具有以下功能&#xff1a;1.自动播放&#xff08;鼠标进入显示区域时停止播放&#xff09; 2.左右焦点切换 3.底下小按钮切换 ps:由于很多同志反馈无法总有各种奇怪的情况&#xff0c;所以有需要的直接下载整个工程&#xff1a;JS实现图片轮…

JS实现轮播图

在css使用动画可以实现简单的轮播图&#xff0c;但如今已经学习了JS&#xff0c;用JS来写轮播图更加方便快捷。今天就带着大家来实现轮播图。话不多说我们直接看代码&#xff1a; 这是css部分&#xff0c;进行了简单的样式操作接下来就进入js阶段&#xff1a; 运行结果如下&…

JS实现轮播图(一看就懂逻辑清晰)

轮播图有很多种实现方法&#xff0c;这是其中一种最清晰的方法。思路很清晰&#xff0c;代码很简单&#xff0c;欢迎大佬多指教。 先来看下效果图&#xff0c;嫌麻烦就不用具体图片来实现了&#xff0c;主要是理清思路。&#xff08;自动轮播&#xff0c;左右按钮切换图片&…

JS实现轮播图的三种简单方法。

Js实现轮播图01 实现思路 这可能是轮播图最简单点的实现之一&#xff0c;通过更改图片的src来实现该效果&#xff0c;首先需要将图片命名格式统一比如pic01.jpg&#xff0c;pic02.jpg…,再通过js使用定时器去改变img标签里面的src图片链接的名字来实现切换效果。代码如下&…

JS实现轮播图的三种简单方法

01、JS轮播图实现1 实现思路这可能是轮播图最简单点的实现之一&#xff0c;通过更改图片的src来实现该效果&#xff0c;首先需要将图片命名格式统一比如pic01.jpg&#xff0c;pic02.jpg…,再通过js使用定时器去改变img标签里面的src图片链接的名字来实现切换效果。代码如下&…

Mysql联表查询(学生表、教师表、成绩表、课程表)

文章目录 1 建库语句2 建表语句3 插入测试数据4 常见查询问题 1 建库语句 create database if not exists studentinfo character set utf8mb4;2 建表语句 一个学生可以选多门课程&#xff0c;一个课程下也对应多个学生&#xff0c;所以需要一个关系表&#xff08;student_cou…

mysql实操《学生表》

第一步&#xff0c;创建所需要的的表信息 1.创建学生表和添加所需要的信息 Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 添加测试数据1.学生表 insert into Student values(‘01’ , ‘赵雷’ , ‘1990-01-01’ , ‘男’); inser…

用Mysql设计一张学生表

mysql> create table student(-> id int,-> name varchar(10),-> gender char(1),-> birthday date,-> score double(5,2),-> email varchar(64),-> status tinyint#最后一行不用加逗号。-> ); Query OK, 0 rows affected (0.02 sec)mysql> desc…

Java数据库建立学生表

Java数据库建立学生表 代码如下&#x1f447;&#x1f447;&#x1f447;&#xff1a; import java.sql.*; //数据库建立学生表 public class Mysql {//数据库名为world&#xff0c;用户名为root&#xff0c;密码为adminprivate static String url "jdbc:mysql://localho…

mysql建立班级表_mysql数据表设计-班级表 学生表 老师表 课程表 成绩表

mysql数据表设计- 班级表 学生表 老师表 课程表 成绩表 image.png /* Navicat Premium Data Transfer Source Server : localhost Source Server Type : MySQL Source Server Version : 50624 Source Host : localhost Source Database : sqlexam Target Server Type : MySQL T…

mysql创建学生表命令_用sql语句创建学生表如何做

在数据库中使用SQL语句创建学生表代码如下&#xff1a;( 学号 char(12) primary key, 姓名 char(6) not null, 性别 char(2) check(性别 IN (男,女)), 班级 char(15) ) 相关表的创建&#xff1a;create table 成绩表 ( 学号 char(12)references 学生表(学号), 课程号 char(2)re…

SQL的学习学生表

1.创建数据库 create database school; 2.创建学生表&#xff0c;成绩表&#xff0c;课程表 create table student( Sno int primary key not null, Sname varchar(20) not null, Ssex varchar(2) null, Birthday datetime null, Sdept varchar(20) null);create table course(…