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

这篇具有很好参考价值的文章主要介绍了JS实现轮播图的三种简单方法。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Js实现轮播图01

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

<!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是否大于3
            if(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()图片链接的名字来实现切换效果。代码如下:
实现效果
js轮播图,前端,html,javascript,前端,css3

<!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是否大于3
				if(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++所在的方法实现切换的效果,没有复杂的算法,一点点基础一看代码就会学会,请大家参考。
实现效果
js轮播图,前端,html,javascript,前端,css3
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)
}
}

代码可能写的不是很好,存在很多不足,欢迎大家指点批评,我会努力去改正,有疑问欢迎留言,我会尽力去解答,谢谢大家花宝贵的时间来阅读这篇文章。文章来源地址https://www.toymoban.com/news/detail-774758.html

到了这里,关于JS实现轮播图的三种简单方法。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JS绑定事件的三种方法(简单易懂)

    相信大家都了解过事件,但如何给元素绑定事件,如何使用呢? 让我为大家介绍三种绑定事件的方法吧! 以下都是用点击事件(click)来做示范 代码总结: 本人文笔有限,如有不对的地方,可以向我提出,感谢大家!

    2024年02月03日
    浏览(48)
  • 前端Vue自定义简单实用轮播图封装组件 快速实现轮播图

    前端Vue自定义简单实用轮播图封装组件 快速实现轮播图, 阅读全文下载完整代码请关注微信公众号: 前端组件开发 效果图如下: 使用方法 HTML代码实现部分

    2024年02月10日
    浏览(50)
  • ❤️创意网页:打造简洁美观的网页轮播图(HTML简单实现轮播图)操作简单可以直接使用

    ✨ 博主: 命运之光 🌸 专栏: Python星辰秘典 🐳 专栏: web开发(简单好用又好看) ❤️ 专栏: Java经典程序设计 ☀️ 博主的其他文章: 点击进入博主的主页 前言: 欢迎踏入我的Web项目专栏,一段神奇而令人陶醉的数字世界! 🌌 在这里,我将带您穿越时空,揭开属于

    2024年02月17日
    浏览(31)
  • js实现左右切换轮播图效果

    实现效果: 自动向右循环播放 鼠标悬停,移出继续播放 点击向右按钮,跳到下一张 点击向左按钮,跳到上一张 保证图片的过渡效果完整呈现后,才能跳到下一张 底部圆点随图片位置切换激活状态 实现思路: 把第一张图片复制到最后一张 当播放到最后一张时,无缝切换到

    2024年01月20日
    浏览(43)
  • vue中swiper轮播图的使用

    说明:导入相应js引css import \\\"Swiper\\\" from \\\"swiper\\\" import \\\"swiper/css/swiper.css\\\"; import \\\"swiper/js/swiper\\\"; 说明:必要的结构使用;直接封装成一个组件  说明:(页面当中务必要有结构);注释已经写入代码。 第一:可以解决获取数据在Swiper实例之前;第二:可以解决v-for遍历完后在Swiper之

    2024年02月14日
    浏览(33)
  • JS常用插件 Swiper插件 实现轮播图

    Swiper 是一款免费以及轻量级的移动设备触控滑块的js框架 中文官网地址: https://www.swiper.com.cn/ 点击查看 Swiper演示 ,里面的功能和样式十分丰富,根据自己的需求选择 中文教程 中详细介绍了如何使用Swiper API文档 中介绍了各个模块以及参数的详细信息,遇到不明白的参数可以

    2024年02月01日
    浏览(40)
  • 使用vant+video.js实现轮播图图片和视频轮播播放

    先上效果图 1. 安装 2. 在需要用到的页面引入 3. 具体页面使用 假设传给子组件的数组结构 按照步骤来使用,其他地方视频播放情况都还好,至少安卓是好的,只是点击播放和暂停时候,ios需要点击多下才能触发点击事件; 然后以为是video.js插件可能没更新,ios版本迭代超过

    2023年04月08日
    浏览(29)
  • 前端轮播图最简单实现(小白也能学会)

    轮播图大家肯定都不陌生,因为这是前端最为常见的一个功能,现在随着框架和一些插件的兴起,很少人会去原生的去写轮播图,所以今天带大家写一下原生的轮播图来熟悉一下 最为主要的就是得知道这张图片的宽度,因为每一次移动的距离就是这张图片的宽度,但是宽度我

    2024年02月04日
    浏览(28)
  • 简单实用!shell脚本实现ssh远程链接的三种方法

    在ubuntu系统中安装SSH客户端: 创建名为connect_remote.sh的shell脚本文件: 请确保将REMOTE_IP和REMOTE_USER变量替换为实际的远程电脑IP地址和用户名。 保存文件后,给与脚本可执行权限: 运行shell脚本,连接远程电脑: 当运行此脚本时,系统会提示输入远程电脑的密码,输入密码后

    2024年02月17日
    浏览(34)
  • 让小程序动起来-轮播图的两种方式--【浅入深出系列003】

    微信目录集链接在此: 详细解析黑马微信小程序视频–【思维导图知识范围】 难度★✰✰✰✰ 不会导入/打开小程序的看这里:参考 让别人的小程序长成自己的样子-更换window上下颜色–【浅入深出系列001】 用免费公开视频,卷飞培训班哈人!打死不报班,赚钱靠狠干! 只

    2024年02月16日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包