js实现图片切换效果

先看效果叭:

js实现图片切换

思路:首先图片下方有切换到上一张和下一张的按钮,实现图片切换实际上就是点击相应按钮时(给按钮添加点击事件),图片路径对应改变,也就是img.src属性,但在这里,并不推荐使用改变src属性来切换图片,因为,每点击一次按钮,就要重新给src赋值新的地址,太过麻烦,这里采用将所有的图片路径保存在一个数组中,只要改变数组的索引值,就能实现改变图片的效果。

再看代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			*{
				padding: 0;
				margin: 0;
			}
			#pic{
				width: 250px;
				margin: 100px auto;
				text-align: center;
				background-color: pink;
				padding: 10px;
			}
		</style>
	</head>
	<body>
		<div id="pic">
			<p id="info"></p>
			<img src="img/摆烂.png">
			<button id="prev">< 上一张</button>
			<button id="next">下一张 ></button>
		</div>
	</body>
	<script type="text/javascript">
		window.onload=function(){
			//先获取到perv和next,再分别给它们添加点击事件
			var prev=document.getElementById("prev");
			var next=document.getElementById("next");
				
			//获取img,修改图片就是修改img的src属性,用img.src="img/哈哈.png";切换到下一张,但这种方法不可取(太麻烦)
			//使用getElementsByTagName获取到的是一个数组,就算获取到一个元素,也会封装到数组中
			var img=document.getElementsByTagName("img")[0];
				
			//创建数组来保存图片路径
			var imgArr=["img/摆烂.png","img/哈哈.png","img/就这.png","img/哭哭.png","img/迷茫.png"];
				
			//创建索引保存正在显示的图片下标,默认第一张,下标为0
			var index=0;
				
			//设置提示文字
			var info=document.getElementById("info");
			//获取info后,用innerHTML为p标签添加文字
			info.innerHTML="第"+(index+1)+"/"+(imgArr.length)+"张";
				
			//分别为两个按钮绑定点击事件
			prev.onclick=function(){
				index--;
				//做判断,如果当前图片是第一张,再点上一张就切换到第五张,让图片可以循环点击
				if(index<0){
					index=imgArr.length-1;
				}
				img.src=imgArr[index];
				//每点击上一张时,提示文字也跟着变
				info.innerHTML="第"+(index+1)+"/"+(imgArr.length)+"张";
			};
				
			next.onclick=function(){	
				index++;
					
				if(index>imgArr.length-1){
						index=0;
				}
				img.src=imgArr[index];
				//每点击下一张时,提示文字也跟着变
				info.innerHTML="第"+(index+1)+"/"+(imgArr.length)+"张";
			};			
		};
	</script>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值