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>
相关推荐
PingdiGuo_guo3 分钟前
C++指针(三)
开发语言·c++
BillKu1 小时前
Vue3 + Element Plus 中修改表格当前选中行的颜色
前端·vue.js·elementui
BillKu1 小时前
Axios中POST、PUT、PATCH用法区别
前端·vue.js
好奇的菜鸟3 小时前
掌握 npm 核心操作:从安装到管理依赖的完整指南
前端·npm·node.js
diving deep3 小时前
springboot集成日志配置文件
java·spring boot·后端·logback
蟹至之3 小时前
【Java】异常的初步认识
java·开发语言·类和对象·异常
佩奇的技术笔记3 小时前
Python入门手册:Python基础语法
开发语言·python
广西千灵通网络科技有限公司3 小时前
基于Java的话剧购票小程序【附源码】
java·小程序·apache
苏小瀚3 小时前
[Java] idea的调试介绍
java·intellij-idea
JWenzz13 小时前
Redis删除策略
java·数据库·redis·缓存