JavaScript的学习之图片的切换

目录

一、寻找素材

 二、编写简单的静态html页面

代码示例

效果展示

三、JS功能的实现 

JS代码

完整代码

效果展示


一、寻找素材

随便去网上找几张图片素材

 二、编写简单的静态html页面

代码示例

<!doctype html>
<html>

	<head>
		<meta charset="utf-8">
		<title></title>
	</head>

	<body>
		<style>
			* {
				margin: 0;
				padding: 0;
			}

			#box {
				width: 500px;
				margin: 50px auto;
				padding: 10px;
				background-color: greenyellow;
				/* 设置文本居中 */
				text-align: center;
			}
		</style>
		<script type="text/javascript">
			// 带年纪按钮切换图片
		</script>
		<div id="box">
			<img src="img/1.jpg" alt="猫咪" />
			<button id="prev">上一张</button>
			<button id="next">下一张</button>
		</div>
	</body>

</html>

效果展示

三、JS功能的实现 

 添加JS代码,让它实现图片切换的功能

JS代码

<script type="text/javascript">
	// 带年纪按钮切换图片
	window.onload = function() {
		var prev = document.getElementById('prev');
		var next = document.getElementById('next');
		// 要想切换图片就要修改img标签的src属性
		var imgs = ['img/1.jpg','img/2.jpg','img/3.jpg',];
		var index = 0;
		var info = document.getElementById('info');
		info.innerHTML = '一共'+imgs.length+'张图片,现在第'+(index+1)+'张';
		prev.onclick = function(){
			var img = document.getElementsByTagName('img')[0];
			index--;
			// 判断索引是否超出图片数范围
			if(index<0){
				index = imgs.length-1;
			};
			img.src = imgs[index];
			info.innerHTML = '一共'+imgs.length+'张图片,现在第'+(index+1)+'张';
		};
		next.onclick = function(){
			var img = document.getElementsByTagName('img')[0];
			index++;
			if(index>imgs.length-1){
				index = 0;
			};
			img.src = imgs[index];
			info.innerHTML = '一共'+imgs.length+'张图片,现在第'+(index+1)+'张';
		};
	};
</script>

完整代码

<!doctype html>
<html>

	<head>
		<meta charset="utf-8">
		<title></title>
	</head>

	<body>
		<style>
			* {
				margin: 0;
				padding: 0;
			}

			#box {
				width: 500px;
				margin: 50px auto;
				padding: 10px;
				background-color: greenyellow;
				/* 设置文本居中 */
				text-align: center;
			}
			#img{
				width: 400px;
				height: 350px;
			}
		</style>
<script type="text/javascript">
	// 带年纪按钮切换图片
	window.onload = function() {
		var prev = document.getElementById('prev');
		var next = document.getElementById('next');
		// 要想切换图片就要修改img标签的src属性
		var imgs = ['img/1.jpg','img/2.jpg','img/3.jpg',];
		var index = 0;
		var info = document.getElementById('info');
		info.innerHTML = '一共'+imgs.length+'张图片,现在第'+(index+1)+'张';
		prev.onclick = function(){
			var img = document.getElementsByTagName('img')[0];
			index--;
			// 判断索引是否超出图片数范围
			if(index<0){
				index = imgs.length-1;
			};
			img.src = imgs[index];
			info.innerHTML = '一共'+imgs.length+'张图片,现在第'+(index+1)+'张';
		};
		next.onclick = function(){
			var img = document.getElementsByTagName('img')[0];
			index++;
			if(index>imgs.length-1){
				index = 0;
			};
			img.src = imgs[index];
			info.innerHTML = '一共'+imgs.length+'张图片,现在第'+(index+1)+'张';
		};
	};
</script>
		<div id="box">
			<p id="info"></p>
			<img id="img" src="img/1.jpg" alt="猫咪" />
			<div>
				<button id="prev">上一张</button>
				<button id="next">下一张</button>
			</div>

		</div>
	</body>

</html>

效果展示

点击按钮可以切换上一张和下一张 

这节的JS图片切换的学习就告一段落!!!

上节学习内容链接:

JavaScript的学习之dom的查询(一) 

感谢各位关注,一起加油!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/748958.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

位运算算法系列|概念讲解|例题讲解

大家好,我是LvZi,今天带来位运算算法系列|概念讲解|例题讲解 一,位运算基本概念 1.基础位运算 <<:左移操作,相当于 *2>>:右移操作,相当于 /2~:按位取反&:按位与操作,有0则0|:按位或操作,有1则1^:按位异或操作,相同为0,相异为1/无进位相加 注:对于^操作,无进…

第三届仿真模拟、电子信息科学与技术国际学术会议(SMEI 2024,8月02-04)

随着仿真模拟技术的成熟和进步&#xff0c;仿真模拟技术越来越广泛地应用于工业工程、管理科学、社会经济、交通运输、生态环境、军事装备等各个科学领域&#xff0c;并深刻影响着信息技术和信息产业的发展。围绕仿真模拟、电子信息科学与技术等方面内容&#xff0c;为更好地促…

电脑定时重启怎么设置?用这个智能管理电脑定时任务的好帮手!

电脑定时重启怎么设置&#xff1f;用这个智能管理电脑定时任务的好帮手&#xff01;电脑定时重启&#xff0c;这个设置其实很简单&#xff0c;但是很多人都不知道用电脑怎么设置&#xff0c;而且操作也很麻烦&#xff0c;并不好管理&#xff0c;这个时候我们需要一个非常智能的…

每个 Node.js 开发人员都应该知道的13个库(下)

7. Sequelize Mongoose是一个Node。基于js的MongoDB对象建模工具&#xff0c;通常被称为对象数据建模&#xff08;ODM&#xff09;库&#xff0c;它提供了诸如钩子、模型验证、连接和查询等功能。 Mongoose为应用程序数据提供了一个基于模式的解决方案&#xff0c;它在应用程…

【数据同步】什么是ETL增量抽取?

目录 一、什么是ETL增量抽取 二、企业如何应用ETL增量抽取 三、如何进行ETL增量抽取 1.基于时间戳的增量抽取 2.基于主键的增量抽取 在当今信息化时代&#xff0c;数据的快速增长和多样化使得企业面临着巨大的数据管理挑战。为了高效地处理和利用数据&#xff0c;ETL&#xff0…

JAVA进阶学习09

文章目录 一、双列集合Map1.1 双列集合介绍1.2 双列集合Map常见API1.3 Map集合遍历方式1.3.1 通过集合的全部键来遍历集合1.3.2 Map集合遍历方式21.3.3 Map集合遍历方式3 二、Map集合的实现类2.1 HashMap类2.2 LinkedHashMap2.3 TreeMap 三、可变参数四、Collections类五、集合…

一文梳理有效提升RAG效果的方法

来源&#xff1a;一文梳理有效提升RAG效果的方法 在大模型实际落地的时候&#xff0c;存在一些问题&#xff0c;主要集中在以下方面&#xff1a; 缺少垂直领域知识&#xff1a;虽然大模型压缩了大量的人类知识&#xff0c;但在垂直场景上明显存在短板&#xff0c;需要专业化的…

查询DBA_TEMP_FILES报错,删除临时表空间报错ORA-60100

SYMPTOMS 查询DBA_TEMP_FILES报错如下图 ORA-01157: cannotidentify/ock data fle 201 -see DBWR trace fle ORA-01110: data fle 20 1: D:APPADMINISTRATORIORADATA MARTIDATAFILE 01157,00000-"cannotidentify/ock data fle %s -see DBWR trace fle"*Cause: The b…

收银系统开源源码-千呼新零售2.0【打折促销】

千呼新零售2.0系统是零售行业连锁店一体化收银系统&#xff0c;包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体&#xff0c;线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货、宠物等连锁店使用。 详细介绍请…

Windows应急响应靶机 - Web3

一、靶机介绍 应急响应靶机训练-Web3 前景需要&#xff1a;小苕在省护值守中&#xff0c;在灵机一动情况下把设备停掉了&#xff0c;甲方问&#xff1a;为什么要停设备&#xff1f;小苕说&#xff1a;我第六感告诉我&#xff0c;这机器可能被黑了。 这是他的服务器&#xff…

计算机网络模型(OSI架构、TCP/IP架构)

OSI开放式系统互联 为什么会有通用的网络通信模型&#xff08;OSI、TCP/IP&#xff09;一、OSI&#xff08;1&#xff09;OSI 是什么&#xff08;2&#xff09;OSI 七层第七层、应用层第六层、表示层第五层、会话层第四层、传输层第三层、网络层第二层、数据链路层第一层、物理…

递归(一)——用“单步调试法”来理解递归调用过程

在算法的学习过程中&#xff0c;“递归”算法似乎显得很神秘&#xff0c;时常让学习者一头雾水&#xff0c;感觉莫名其妙&#xff0c;可是掌握递归又是一个绕不过去的坎&#xff0c;因为很多更高级的数据结构和算法思想就是以递归为基础的&#xff0c;比如数据结构中的树和图&a…

工商业储能柜用的Acrel-2000ES储能能量管理系统-安科瑞 蒋静

概述 Acrel-2000ES储能能量管理系统&#xff0c;专门针对工商业储能柜、储能集装箱研发的一款储能EMS&#xff0c;具有完善的储能监控与管理功能,涵盖了储能系统设备(PCS、BMS、电表、消防、空调等)的详细信息&#xff0c;实现了数据采集、数据处理、数据存储、数据查询与分析…

数据结构9——排序

一、冒泡排序 冒泡排序&#xff08;Bubble Sort&#xff09;&#xff0c;顾名思义&#xff0c;就是指越小的元素会经由交换慢慢“浮”到数列的顶端。 算法原理 从左到右&#xff0c;依次比较相邻的元素大小&#xff0c;更大的元素交换到右边&#xff1b;从第一组相邻元素比较…

Talk|北京大学PKU-DAIR余昭辰:从多模态理解到生成 - 从LLM到Diffusion Model

本期为TechBeat人工智能社区第603期线上Talk。 北京时间6月26日(周三)20:00&#xff0c;北京大学PKU-DAIR实习生—余昭辰的Talk已经准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “从多模态理解到生成 - 从LLM到Diffusion Model”&#xff0c;在本次Talk…

.Net WebApi启动 Swagger异常报错: Failed to load API definition

问题描述&#xff1a; 基于.Net6.0的WebApi 启动Swagger报错&#xff1a;Failed to load API definition。即无法加载API定义。 解决方法&#xff1a; 分析程序输出日志&#xff1a; 错误信息&#xff1a; ERROR Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMid…

无线领夹麦克风品牌排名,揭秘哪种领夹麦性价比高!

在直播电商和Vlog的热潮推动下&#xff0c;自媒体内容创作迎来了前所未有的繁荣。麦克风行业也因应这一趋势&#xff0c;迎来了快速的增长期。特别是无线领夹麦克风&#xff0c;以其便携性和高效的录音能力&#xff0c;迅速成为视频制作者的新宠。它不仅在直播带货和短视频制作…

[JS]DOM事件

事件监听 让程序检测是否有事件产生, 一旦事件触发, 就调用函数做出响应 事件三要素: 事件源(谁的事件) 事件类型(如何触发) 事件处理程序(做什么) function fn() {} // 绑定事件 btn.addEventListener(click, fnction() { })// 绑定事件 btn.addEventListener(click, fn)//…

openlayer 图层点击事件 鼠标单击

背景&#xff1a; 接上一篇博客&#xff0c;如何渲染图层&#xff0c;渲染不同颜色的图层&#xff1f; 一个图层创建好了&#xff0c;接下来我们要做的是&#xff0c;如何通过鼠标点击打开点击对象的详情弹框&#xff1f;鼠标点击的是layer图层里的featrue要素&#xff0c;这…

数字AI化银行数字化转型实战手册银行数字化转型大客户营销销售讲师培训师唐兴通谈存量客户理财金融科技与场景化

推动银行数字化转型的五个关键因素 推动银行数字化转型的五个关键因素&#xff1a; 客户体验。为客户提供便利和个性化是数字化转型的关键因素。银行应开发和实施创新的数字渠道&#xff0c;例如移动应用程序、网上银行、聊天机器人等&#xff0c;以方便获取金融服务并提高客户…