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

article/2025/11/10 11:40:48

Js实现轮播图01

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

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>轮播图实现01</title><style type="text/css">.lunbo{width: 900px;height: 400px;margin:100px auto;}.lunbo img{width: 100%;height:100%;}</style></head><body><!--轮播图模块 --><div class="lunbo"><img id="lunbo_img" src="./pic/img3.jpeg" ></div><!-- Js代码 --><script>var index = 1;function lunbo(){index ++ ;//判断index是否大于3if(index > 3){index = 1;}//获取img对象var img = document.getElementById("lunbo_img");img.src = "./pic/img"+index+".jpeg";}//2.定义定时器setInterval(lunbo,2000);/*切记定时器里调用lunbo方法不能加(),setInterval(lunbo,2000);如果加()会执行lunbo()方法,而导致定时器没用。</script></body>
</html>

Js实现轮播图02

实现思路
这可能是轮播图最简单点的实现之一,通过改变background的图片链接来实现该效果,首先需要将图片命名格式统一比如pic01.jpg,pic02.jpg…,再通过js使用定时器去改变background属性里面的url()图片链接的名字来实现切换效果。代码如下:
实现效果
在这里插入图片描述

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>轮播图实现02</title><style>body{margin: 0;padding: 0;}.lunbo{width:100%;height:720px;background-image: url(pic/img1.jpeg);/*背景图片*/background-size:100% 100%; }</style></head><body><div class="lunbo"></div><script type="text/javascript">var index = 1;function lunbo(){index ++ ;//判断number是否大于3if(index > 3){index = 1;}//获取img对象var img = document.getElementsByClassName("lunbo")[0];img.style.background = "url(pic/img"+index+".jpeg)";img.style.backgroundSize="100% 100%";	}//2.定义定时器setInterval(lunbo,3000);</script></body>
</html>

Js实现轮播图03

本轮播图的实现,首先通过CSS代码将全部存放图片的li标签通过opacity属性设置为0来隐藏不显示, 通过js代码使用定时器不断调用类active突出显示li标签,同时隐藏兄弟li标签,再通过index++来实现切换循环显示的效果,当点击两边的按钮时,调用index++所在的方法实现切换的效果,没有复杂的算法,一点点基础一看代码就会学会,请大家参考。
实现效果
在这里插入图片描述
HTML代码

<!DOCTYPE html>
<html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /><!--引入CSS代码--><link rel="stylesheet" type="text/css" href="./css/index.css"/><!--引入Js代码--><script src="./js/index.js"></script><title>Js实现轮播图</title></head><body><div class="lunbo"><div class="content"><ul id="item"><li class="item"><a href="#"><img src="img/pic1.jpg" ></a></li><li class="item"><a href="#"><img src="img/pic2.jpg" ></a></li><li class="item"><a href="#"><img src="img/pic3.jpg" ></a></li><li class="item"><a href="#"><img src="img/pic4.jpg" ></a></li><li class="item"><a href="#"><img src="img/pic5.jpg" ></a></li></ul><div id="btn-left"><</div><div id="btn-right">></div><ul id="circle"><li class="circle"></li><li class="circle"></li><li class="circle"></li><li class="circle"></li><li class="circle"></li></ul></div></div></body>
</html>

CSS代码

*{margin: 0;padding: 0;
}
a{list-style: none;
}
li{list-style: none;
}
.lunbo{width: 100%;
}
.content{width: 800px;height: 300px;margin: 20px auto;position: relative;
}
#item{width: 100%;height: 100%;}
.item{position: absolute;opacity: 0;transition: all 1s;}
.item.active{opacity:1;
}
img{width: 100%;
}
#btn-left{width: 30px;height: 69px;font-size: 30px;color: white;background-color:rgba(0,0,0,0.4);line-height: 69px;padding-left:5px;z-index: 10;/*始终显示在图片的上层*/position: absolute;left: 0;top: 50%;transform: translateY(-60%);/*使按钮向上偏移居中对齐*/cursor: pointer;opacity: 0;/*平时隐藏*/
}
.lunbo:hover #btn-left{/*鼠标滑入,显示图标*/opacity: 1;
}#btn-right{width: 26px;height: 69px;font-size: 30px;color: white;background-color:rgba(0,0,0,0.4);line-height: 69px;padding-left: 5px;z-index: 10;position: absolute;right: 0;top: 50%;cursor: pointer;opacity: 0;transform: translateY(-60%);
}
.lunbo:hover #btn-right{opacity: 1;
}
#circle{height: 20px;display: flex;position: absolute;bottom: 35px;right: 25px;
}
.circle{width: 10px;height: 10px;border-radius: 10px;border: 2px solid white;background: rgba(0,0,0,0.4);cursor: pointer;margin: 5px;
}
.white{background-color: #FFFFFF;
}

JS代码

window.onload=function(){
var items=document.getElementsByClassName("item");
var circles=document.getElementsByClassName("circle");
var leftBtn=document.getElementById("btn-left");
var rightBtn=document.getElementById("btn-right");
var content=document.querySelector('.content');
var index=0;
var timer=null;//清除class
var clearclass=function(){for(let i=0;i<items.length;i++){items[i].className="item";circles[i].className="circle";circles[i].setAttribute("num",i);}
}
/*只显示一个class*/
function move(){clearclass();items[index].className="item active";circles[index].className="circle white";
}
//点击右边按钮切换下一张图片
rightBtn.onclick=function(){if(index<items.length-1){index++;}else{index=0;}move();
}
//点击左边按钮切换上一张图片
leftBtn.onclick=function(){if(index<items.length){index--;}else{index=items.length-1;}move();
}
//开始定时器,点击右边按钮,实现轮播
timer=setInterval(function(){rightBtn.onclick();
},1500)
//点击圆点时,跳转到对应图片
for(var i=0;i<circles.length;i++){circles[i].addEventListener("click",function(){var point_index=this.getAttribute("num");index=point_index;move();})}
//鼠标移入清除定时器,并开启一个三秒的定时器,使慢慢转动
content.onmouseover=function(){clearInterval(timer);timer=setInterval(function(){rightBtn.onclick();},3000)
}
//鼠标移出又开启定时器
content.onmouseleave=function(){clearInterval(timer);timer=setInterval(function(){rightBtn.onclick();},1500)
}
}

代码可能写的不是很好,存在很多不足,欢迎大家指点批评,我会努力去改正,有疑问欢迎留言,我会尽力去解答,谢谢大家花宝贵的时间来阅读这篇文章。


http://chatgpt.dhexx.cn/article/3JmOTkja.shtml

相关文章

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(…

学生表

创建 1.学生表 Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 2.课程表 Course(CID,Cname,TID) --CID --课程编号,Cname 课程名称,TID 教师编号 3.教师表 Teacher(TID,Tname) --TID 教师编号,Tname 教师姓名 4.成绩表 SC(SID,CID,s…

学生表 成绩表 课程表 教师表

学生表&#xff1a; Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别 课程表&#xff1a; Course(c_id,c_name,t_id) – –课程编号, 课程名称, 教师编号 教师表&#xff1a; Teacher(t_id,t_name) –教师编号,教师姓名 成绩表&#xff1a; Score(…

MySQL基础 创建学生表实现查询基础功能

一. 创建学生表 1.进入MySQL WIN R 输入cmd 输入mysql -u root -p 输入密码进入mysql 2. 输入show databases; 查询现有数据库 选择一个数据库 use 数据库名称 创建一个学生表 create table stu( id int ,-- 编号 name varchar(10),-- 姓名 gender char(1)…

数据库学生表

文章目录 学生表建立学生表&#xff1a;建表过程中出现的错误&#xff1a; 插入数据 课程表建立课程表&#xff1a;插入数据 选课表建立选课表插入数据建表过程中出现的错误&#xff1a; 修改基本表增加属性列&#xff1a;修改数据类型&#xff1a;增加约束条件&#xff1a;删除…

LDA理解

LDA 过程&#xff1a; 希拉里邮件lda建模&#xff1a;

LDA步骤

自己学习备忘用。节选自(1条消息) LDA原理小结_Sual-CSDN博客_lda原理

NLP: LDA主题模型

Essence本质&#xff1a;LDA模型主要包括主题分布θ和词语分布&#xff0c; 主题分布&#xff1a;各个主题在文档中出现的概率分布。词语分布&#xff1a;各个词语在某个主题下出现的概率分布。 pLSA模型中这两个分布是固定的&#xff0c;由期望最大化EM(Expectation Maximiz…

LDA算法

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、LDA是什么&#xff1f;二、公式推导三、PCA和LDA的区别总结 前言 线性判别分析&#xff08;LDA&#xff09;是一种有监督学习算法&#xff0c;同时经常被用…

自然语言处理7——LDA

文章目录 1. PLSA、共轭先验分布&#xff1b;LDA主题模型原理1.1 PLSA1.2 共轭先验分布1.2.1 共轭先验分布的参数确定1.2.2 常见的共轭先验分布 1.3 LDA主题模型原理 2. LDA应用场景3. LDA优缺点4. LDA 在sklearn中的参数学习5. 使用LDA生成主题特征&#xff0c;在之前特征的基…

matlab lda数据降维,LDA有标签数据降维

之前无标签数据降维PCA,那么像下图带有标签数据,如果用PCA降维将会投影到v轴上,这个投影方差最大,数据将变成不可分状态,LDA将把数据投影加上已有分类这个变量,将数据投影到u轴上 假设原数据分成n类,用矩阵Di表示i类数据,均值向量mi,将设将数据投影到向量w上后,均值分…

LDA模型,主题聚类模型

自然语言处理--LDA主题聚类模型 LDA模型算法简介&#xff1a; 算法 的输入是一个文档的集合D{d1, d2, d3, ... , dn}&#xff0c;同时还需要聚类的类别数量m&#xff1b;然后会算法会将每一篇文档 di 在 所有Topic上的一个概率值p&#xff1b;这样每篇文档都会得到一个概率的集…

LDA主题模型笔记

Table of Contents 1、写在前面 2、数学知识 3、文本建模 4.LDA主题模型实战 1、写在前面 在机器学习领域&#xff0c;关于LDA有两种含义&#xff0c;一是线性判别分析&#xff08;Linear Discriminant Analysis&#xff09;&#xff0c;是一种经典的降维学习方法&#xf…