Web前端开发 - 制作简单的焦点图效果

目录

任务描述

焦点图效果是各大网站常用的效果,下面利用数组实现简单的焦点图效果,页面上5张图片2秒轮换显示,单击向右图片实现播放下一张图片,图片向后继续2秒轮换显示,单击向左图片实现播放上一张图片,图片向前继续2秒轮换显示。

​编辑

任务分析

样例代码:


任务描述

焦点图效果是各大网站常用的效果,下面利用数组实现简单的焦点图效果,页面上5张图片2秒轮换显示,单击向右图片实现播放下一张图片,图片向后继续2秒轮换显示,单击向左图片实现播放上一张图片,图片向前继续2秒轮换显示。

任务分析

1.设计HTML页面,应用CSS美化页面。

2.定义数组,将轮换显示的图片地址保存到数组中。

3.定义两个全局变量,一个变量用于控制定时器,另一个变量用于控制数组下标。

4.定义函数实现图片的轮换显示。在函数中改变图片的地址,使用定时器函数,2秒更换图片地址,实现图片的轮流显示。

5.单击上一张或下一张按钮时将定时器清除,再重新调用图片轮换显示函数

样例代码:

javascript 复制代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>实现带左右按钮控制焦点图片切换</title>
<style type="text/css">
*{margin:0;padding:0;}
ul,li{list-style:none;}
img{border:0;}
.wrapper{
	width: 800px;
	margin: 0 auto;
	padding-bottom: 50px;
}
#focus{
	width: 800px;
	height: 280px;
	overflow: hidden;
	position: relative;
}
#focus ul{
	height: 380px;
	position: absolute;
}
#focus ul li{
	float: left;
	width: 800px;
	height: 280px;
	overflow: hidden;
	position: relative;
	background: #000;
}
#focus ul li div{
	position: absolute;
	overflow: hidden;
}
#focus .preBtn{
	width: 45px;
	height: 100px;	
	left: 0;
	top:90px;
	background:url(images/spirte.png) no-repeat 0 0;
	background-color:#000;
	cursor: pointer;
	opacity:0.4;
	filter:alpha(opacity=40);
}
#focus .nextBtn{
	width: 45px;
	height: 100px;
	right:0px;
	top:90px;
	background:url(images/spirte.png) no-repeat right top;
	background-color:#000;
	cursor: pointer;	
	opacity:0.4;
	filter:alpha(opacity=40);}

</style>

<script type="text/javascript">
	var picsArr=new Array();
		picsArr[0]="images/01.jpg";
		picsArr[1]="images/02.jpg";
		picsArr[2]="images/03.jpg";
		picsArr[3]="images/04.jpg";
		picsArr[4]="images/05.jpg";	
	var timer,index=0;	
	window.onload=showPic;

	function showPic(){
		document.getElementById("pic").src=picsArr[index];
		if(index<(picsArr.length-1))
			index++;
		else
			index=0;
		timer=setTimeout("showPic()",1000);
	}

	function showNext()
	{
		
		clearTimeout(timer);
		showPic();
		
	}

	function showPre()
	{
		clearTimeout(timer);
		showPrepic();
		
	}
	
	function showPrepic()
	{		
		if(index>0)
			index--;
		else
			index=4;
		document.getElementById("pic").src=picsArr[index];
		timer=setTimeout("showPrepic()",2000);
	}
</script>
</head>

<body>
<div class="wrapper">
  <div id="focus">
    <ul>
      <li><a href="#" target="_blank"><img src="images/01.jpg" alt="" id="pic"/></a>
      <div class="preBtn" onclick="showPre()"></div>
      <div class="nextBtn" onclick="showNext()"></div> 
      </li>      
    </ul>     
  </div>
</div>
</body>
</html>
相关推荐
牛奔10 小时前
Go 如何避免频繁抢占?
开发语言·后端·golang
寻星探路14 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
崔庆才丨静觅15 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
lly20240615 小时前
Bootstrap 警告框
开发语言
2601_9491465316 小时前
C语言语音通知接口接入教程:如何使用C语言直接调用语音预警API
c语言·开发语言
曹牧16 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
passerby606116 小时前
完成前端时间处理的另一块版图
前端·github·web components
KYGALYX16 小时前
服务异步通信
开发语言·后端·微服务·ruby
掘了16 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结