JS实现小电视播放图片(手动播放)

需求:实现页面上显示一张图片,每点击一次,可以自由向上切换图片或者向下切换图片

思路:
1.得有两个按钮,一张图片
2.要修改图片,也就是修改页面中 img标签中的src,我们得想办法修改它的src
3.要修改,就得获取到img元素,所以,通过document.getElementsByTagName()来获取这个对象,因为它返回的是一个维数组【可迭代对象】,然后又只有一个元素【我们只显示一张图片】,所以就直接[0]了
4.获得了该img元素之后,只需要给两个按钮绑定单击响应函数【这两个单击响应函数去修改对应的src即可】
5.其实不难实现这个代码

完整代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<style type="text/css">
			#outer{
				margin:0;
				padding:0;
			}
		</style>
		<title></title>
	</head>
	<body>
		<div id="outer">
		<img src="img/01.jpg" alt="01"/>
		<button id="pre">上一张</button>
		<button id="next">下一张</button>
		</div>
		<script type="text/javascript">
			//获得两个对象按钮元素
			var pre=document.getElementById("pre");
			var next=document.getElementById("next");
			
			//创建一个数组,存放路径,其实这里也可以利用字符串去直接修改img的路径
			//不用存放在数组中,比如 src.img='img/0'+index+'.jpg',这样也是可以的,只不过对于命名不太友好,这样我们可以给图片起一些花里胡哨的名称
			var imgArr=['img/01.jpg','img/02.jpg','img/03.jpg','img/04.jpg','img/05.jpg'];
			
			//当前正在显示的图片的索引
			var index=0;
			
			//切换图片,就是修改src即可
			var img = document.getElementsByTagName("img")[0];
			//为两个对象绑定单击函数
			pre.onclick=function (){
				--index;
				if(index<0)//数组不能越界
				{
					index=imgArr.length-1;
				}
				img.src=imgArr[index];
	
			};
			next.onclick=function(){
				++index;
				if(index >imgArr.length-1)
				{
					index=0;
				}
				img.src=imgArr[index];
			};
		</script>
	</body>
</html>

结构:
在这里插入图片描述


第一次改进的想法:
要实现轮播图:最关键的就是下标的问题,即下标不能越界
这样也是可以实现的,把整个下标限制在数组的范围内【能使用变量来表示就尽量使用变量来表示,到时不用因为图片数目的增减而修改源代码】

pre.onclick=function (){
				--index;
				index=(index+imgArr.length)%imgArr.length;
				img.src=imgArr[index];
	
			};
			next.onclick=function(){
				++index;
				index=(index+imgArr.length)%imgArr.length;
				img.src=imgArr[index];
			};

第二次改进的想法:可以加个定时器,实现自动轮播。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值