<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
			<script>
//				所有需要展示的图片建立一个数组
				var images = ["../img/001.jpg","../img/002.jpg","../img/003.jpg","../img/004.jpg"]
			
				var index = 0  //用于显示图片的索引
//**********************************************

//建立  上一张 按钮函数
				function lastImg(){
					var v_showImg = document.getElementById("showImg")
				
//下一张是index++   上一张是index--
					index--
					if(index<0){
//数组中的最小下标为0,不可能有比0还小的下标,所以当index到达0这个下标位置的时候就已经到头,如果还要继续向前遍历则 index<0  此时我们使index = images.length-1(数组的最后一个下标) 实现重复展示图片效果
						index = images.length-1
					}
					v_showImg.src = images[index]
				}
//**********************************************
			//建立  下一张  函数
			
			function nextImg(){
					var v_showImg = document.getElementById("showImg")
					
					index++
					if(index>=images.length){
//	因为数组的最大下标为length-1,所以length实际上是已经超出了数组最大下标,index中文含义为下标,所以当下标等于length-1的时候已经到了数组的最后一个元素位置,当index = lengeh的时候使index=0,这样可以循环点击
						index = 0
					}
					v_showImg.src = images[index]    //这里展示的src链接实际上是遍历数组中的各项元素(各项元素为图片的超链接)
				}
			
//**********************************************
				//自动播放
				var flag = true
				
//				建立播放函数(方法)
				function autoPlay(){
					if(!flag){
						return 
//这里可以这样理解:if内的flag为假的时候则结束,如果flag为真则跳到window.setTimeout()...这一步
					}
//			自己进行递归调用,然后再调用切换图片的方法		
				window.setTimeout(autoPlay,3000)
//		3000毫秒切换一次图片
				nextImg()
				}

//停止播放
			function stopAutoPlay(){
				flag = false
			}
//开始播放
			function startAutoPlay(){
				flag = true
				window.setTimeout(autoPlay,3000)
			}
			
			
			</script>
	</head>
	<body>
		<img id = "showImg" src="../img/001.jpg"
		 width="533px" height="300px" 
		 
		 onmouseover="stopAutoPlay()"
		onmouseout="startAutoPlay()"		 
		/>
		<!--当鼠标移动到目标上时 = "停止播放"-->
		 <!--当鼠标离开目标时 = "开始播放"-->
		<br />
		
		<input type="button" value="上一张" onclick="lastImg()"/>
		
		<input type="button" value="下一张" onclick="nextImg()" />
	</body>
</html>

posted on 2018-11-28 11:54  无关痛痒qaq  阅读(160)  评论(0编辑  收藏  举报