js轮播图(点击图片切换 定时器效果)

news/2024/7/19 14:44:43 标签: javascript, css, html, 前端, js

轮播效果:点击上一页,下一页切换图片,设置定时器每过两秒进行自动切换

不说别的直接上代码

html" title=javascript>javascript"><!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
	<style type="text/html" title=css>css">
		div.show{
			width:600px;
			height:400px;
			border:2px solid red;
			margin:0px auto;
			overflow: hidden;
		}

		.btn{
			text-align: center;	
		}
		.btn button{
			margin:10px 40px;
			font-size: 32px;
		}
		.pic{
			width: 100%;
			height: 100%;

		
		}
	</style>
</head>
<body>
	<div class="show">
		<img src="./images/01.jpg" class ="pic">  
		<!-- 自己图片的地址 -->
		<img src="./images/640.jpg" class ="pic">
		<img src="./images/02.jpg" class= "pic">
		<img src="./images/03.jpg" class= "pic">
	</div>

	<div class="btn">
		<button class="prev">上一页</button>
		<button class="next">下一页</button>
	</div>

	<script type="text/html" title=javascript>javascript">
		let setPic = [
			// 将自己图片的地址存放到变量中
			'./images/01.jpg',
			'./images/640.jpg',
			'./images/02.jpg',
			'./images/03.jpg',
		];

		let time = (function(){
			// 定时器句柄
	        let hTime; 

			function start(){
				hTime = setInterval(function(){
					showImg.src = setPic[ keyImg.inc() ];
				},2000)
			}
			function stop(){
				clearInterval(hTime);
			}

			return {start:start, stop:stop};
		}())


		// 围绕着下标 封装一个对象
		let keyImg = (function(){
			let i = 0; // 图片数组下标. 当前显示图片的下标
			// 加1
			function inc(){
				i++;
				if (i >= setPic.length) {
					i = 0;
				}
				return i;
			}
			// 减1
			function dec(){
				i--;
				if (i < 0) {
					i = setPic.length-1;
				}
				return i;
			}
			return {inc:inc, dec:dec}

		}())

		// 每隔2秒显示下一张图片
		let showImg = document.querySelector('.show img')
		
		
		time.start();

		// 上一张
		let btnPrev = document.querySelector('.prev')
		btnPrev.onclick = function(){

			// 停止定时器
			time.stop();

			// 设置减1后的图片为当前图片
			showImg.src = setPic[ keyImg.dec() ];

			// 开启定时器
			time.start();
		}


		// 下一张
		let btnNext = document.querySelector('.next')
		btnNext.onclick = function(){

			// 停止定时器
			time.stop();

			// 设置当前要显示的图片
			showImg.src = setPic[ keyImg.inc() ];

			// 开启定时器
			time.start();
		}
	</script>
</body>
</html>

这个就是轮播图效果了,如果文章对你有帮助,记得留下你的点赞加评论呦


http://www.niftyadmin.cn/n/855196.html

相关文章

菜鸟学exchange之一:exchange邮件系统的简单安装和部署

实验背景&#xff1a;西安凌云高科技是一家拥有300名员工的高新技术企业&#xff0c;总部在位于西安。在上海和北京分别有分公司。西安凌云高科技有限公司的邮件系统对公司的成功非常重要&#xff0c;销售工资依赖于消费者的快速和可靠的联系&#xff0c;其他的部门同样也非常依…

OPENROWSET (Transact-SQL)

更新日期&#xff1a; 2008 年 10 月 31 日 包 含访问 OLE DB 数据源中的远程数据所需的全部连接信息。当访问链接服务器中的表时&#xff0c;这种方法是一种替代方法&#xff0c;并且是一种使用 OLE DB 连接并访问远程数据的一次性的临时方法。对于较频繁引用 OLE DB 数据源的…

小方块万能居中方法(任何分辨率下都能居中)

不说废话直接看代码都是干货 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"wi…

ES6 set和map超详细讲解

set是什么 set 是ES6提供的新的数据结构,他和Array相似,但是set定义的值都具有唯一性,不能重复,可以存储任意类型的值 使用set可以求数组的并集.差集.交集等等 去重 var mySet new Set([1, 2, 3, 4, 4]);mySet为你定义的数组并集(相当于合并数组) var a new Set([1, 2, 3]…

flex 弹性盒子布局

是什么: Flex是Flexible Box的缩写&#xff0c;意为”弹性布局”&#xff0c;用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为Flex布局。 优点: flex布局也叫弹性布局,可以简便、完整、响应式地实现各种页面布局 注意: 设为Flex布局以后&#xff0c;子元素的floa…

[CTO札记]Twitter系统运维经验(转)

最近看到的另外一个介绍Twitter技术的视频[Slides] [Video (GFWed)]&#xff0c;这是Twitter的John Adams在Velocity 2009的一个演讲&#xff0c;主要介绍了Twitter在系统运维方面一些经验。 本文大部分整理的观点都在Twitter(xmpp)上发过&#xff0c;这里全部整理出来并补充完…

跨域是什么,以及怎么解决跨域

跨域是什么 跨域就是违反了浏览器的同源策略限制。同源策略&#xff08;Sameoriginpolicy&#xff09;是一种约定&#xff0c;当发送请求时,如果不满足同域名,同端口,同协议的三项的话就会造成跨域,只要有一项不满足就会造成跨域,它是浏览器最核心也最基本的安全功能,如果没有同…

下载 aduna cluster map AutoFocus dizhi

http://pysesamee.projects.semwebcentral.org/scm/viewvc.php/org.dbin.clustermap/lib/?rootdbin&sortbylog AutoFocus http://download.cnet.com/3001-2379_4-10366645.html?spi0d36fcfa736bf0876baeb556d8ea2d08