基于jquery实现图片广告轮换效果代码


Posted in Javascript onJuly 07, 2011

效果图:
基于jquery实现图片广告轮换效果代码
实现代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>hotmarquee</title> 
<style type="text/css"> 
* 
{ 
margin: 0; 
padding: 0; 
} 
body 
{ 
font: 12px; 
padding-top: 50px; 
padding-right: 200px; 
padding-bottom: 100px; 
padding-left: 200px; 
} 
ul 
{ 
list-style: none; 
} 
img 
{ 
padding: 2px; 
border: 1px solid #eee; 
} 
a 
{ 
outline: none; 
} 
#imgs 
{ 
width: 410px; 
margin-right: auto; 
margin-left: auto; 
} 
.top, .btm 
{ 
background: url(../images/sprite.gif) no-repeat; 
overflow: hidden; 
} 
.top 
{ 
background-position: 0 0; 
height: 5px; 
} 
.btm 
{ 
height: 7px; 
} 
.mid 
{ 
width: 400px; 
padding: 5px 7px 0; 
border: 1px solid #999; 
} 
.mid ul 
{ 
width: 400px; 
height: 600px; 
background: #fff; 
position: relative; 
overflow: hidden; 
} 
.mid ul li 
{ 
width: 400px; 
height: 600px; 
position: absolute; 
left: 490px; 
top: 0; 
} 
.mid ul li.first 
{ 
left: 0; 
} 
#img_list 
{ 
width: 486px; 
height: 20px; 
padding-top: 5px; 
overflow: hidden; 
height: 1%; 
} 
#img_list a 
{ 
display: block; 
width: 14px; 
height: 14px; 
text-indent: -9999px; 
float: left; 
margin-right: 5px; 
background: url(../images/sprite.gif) no-repeat 0 -13px; 
} 
#img_list a:hover, #img_list a.active 
{ 
background-position: -14px -13px; 
} 
</style> 
<script src="../Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script> 
<script type="text/javascript"> 
var curr = 0, next = 0, count = 0; 
$(document).ready(function () { 
// 记录图片的数量 
count = $('#img_list a').size(); 
t = setInterval('imgPlay()', 3000); 
// 鼠标移动到图片或导航上停止播放,移开后恢复播放 
$('#imgs li, #img_list a').hover(function () { 
clearInterval(t); 
}, function () { 
t = setInterval('imgPlay()', 3000); 
}); 
//点击导航播放到相应的图片 
$('#img_list a').click(function () { 
// index()函数返回当前导航的下标 
var index = $('#img_list a').index(this); 
if (curr != index) { 
play(index); 
curr = index; 
}; 
return false; 
}); 
}); 
// 播放图片的函数 
var imgPlay = function () { 
next = curr + 1; 
// 若当前图片播放到最后一张,这设置下一张要播放的图片为第一张图片的下标 
if (curr == count - 1) next = 0; 
play(next); 
curr++; 
// 在当前图片的下标加1后,若值大于最后一张图片的下标,则设置下一轮其实播放的图片下标为第一张图片的下标,而next永远比curr大1 
if (curr > count - 1) { curr = 0; next = curr + 1; } 
}; 
// 控制播放效果的函数 
var play = function (next) { 
// 当前的图片滑到左边-500px,完成后返回到右边490px 
// 下一张图片滑到0px处,完成后导航的焦点切换到下一个点上 
$('#imgs li').eq(curr).css({ 'opacity': '0.5' }).animate({ 'left': '-500px', 'opacity': '1' }, 'slow', function () { 
$(this).css({ 'left': '490px' }); 
}).end() 
.eq(next).animate({ 'left': '0px', 'opacity': '1' }, 'slow', function () { 
$('#img_list a').siblings('a').removeClass('active').end().eq(next).addClass('active'); 
}); 
}; 
</script> 
</head> 
<body> 
<div id="imgs"> 
<div class="mid"> 
<ul> 
<li class="first"><a href="http://meinv.vs2010.com/topic/7/201107/show-id2231.html" 
target="_blank"> 
<img src="http://meinv.vs2010.com/DownLoad/2011-7-6/e9c17b8d52e14757b03729fe57dac21f.jpg" 
alt="1" /></a></li> 
<li><a href="http://meinv.vs2010.com/topic/7/201106/show-id2130.html" target="_blank"> 
<img src="http://meinv.vs2010.com/DownLoad/2011-7-2/2aaaba4b512c4af9ad335d962ea1b00e.jpg" 
alt="2" /></a></li> 
<li><a href="http://meinv.vs2010.com/topic/7/201106/show-id2184.html" target="_blank"> 
<img src="http://meinv.vs2010.com/DownLoad/2011-7-1/622f65f85622417f8c19a47545265c41.jpg" 
alt="3" /></a></li> 
<li><a href="http://meinv.vs2010.com/topic/7/201106/show-id2163.html" target="_blank"> 
<img src="http://meinv.vs2010.com/DownLoad/2011-6-25/81575b5f42ff417e85c13f9a77054f8c.jpg" 
alt="4" /></a></li> 
</ul> 
<div id="img_list"> 
<a href="#1" class="active">1</a> <a href="#2">2</a> <a href="#3">3</a> <a href="#4"> 
4</a> 
</div> 
</div> 
</div> 
</body> 
</html>
Javascript 相关文章推荐
关于Aptana Studio生成自动备份文件的解决办法
Dec 23 Javascript
js监听键盘事件示例代码
Jul 26 Javascript
javascript等号运算符使用详解
Apr 16 Javascript
网页前端登录js按Enter回车键实现登陆的两种方法
May 10 Javascript
Angular页面间切换及传值的4种方法
Nov 04 Javascript
Bootstrap popover用法详解
Dec 22 Javascript
输入框点击时边框变色效果的实现方法
Dec 26 Javascript
Vue.js图片预览插件使用详解
Aug 27 Javascript
对angularjs框架下controller间的传值方法详解
Oct 08 Javascript
vue-router命名路由和编程式路由传参讲解
Jan 19 Javascript
JavaScript遍历数组和对象的元素简单操作示例
Jul 09 Javascript
mock.js模拟前后台交互
Jul 25 Javascript
jquery调用wcf并展示出数据的方法
Jul 07 #Javascript
基于json的jquery地区联动效果代码
Jul 06 #Javascript
JQury slideToggle闪烁问题及解决办法
Jul 05 #Javascript
jquery中通过过滤器获取表单元素的实现代码
Jul 05 #Javascript
jquery中获取元素的几种方式小结
Jul 05 #Javascript
JavaScript 判断日期格式是否正确的实现代码
Jul 04 #Javascript
Javascript计算时间差的函数分享
Jul 04 #Javascript
You might like
mysql,mysqli,PDO的各自不同介绍
2012/09/19 PHP
PHP编码转换函数 自动转换字符集支持数组转换
2012/12/16 PHP
hadoop中一些常用的命令介绍
2013/06/19 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
Web层改进II-用xmlhttp 无声息提交复杂表单
2007/01/22 Javascript
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
2011/07/15 Javascript
jquery实现select选中行、列合计示例
2014/04/25 Javascript
使用nodejs开发cli项目实例
2015/06/03 NodeJs
jQuery layui常用方法介绍
2016/07/25 Javascript
JS实现点击循环切换显示内容的方法
2017/10/19 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
基于javascript的无缝滚动动画1
2020/08/07 Javascript
在Vue里如何把网页的数据导出到Excel的方法
2020/09/30 Javascript
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
在python中安装basemap的教程
2018/09/20 Python
Django中的静态文件管理过程解析
2019/08/01 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
Python GUI编程学习笔记之tkinter事件绑定操作详解
2020/03/30 Python
Windows下Sqlmap环境安装教程详解
2020/08/04 Python
CSS3实现点击放大的动画实例代码
2017/02/27 HTML / CSS
IWOOT美国:新奇的小玩意
2018/04/27 全球购物
DTD的含义以及作用
2014/01/26 面试题
Exception类的常用方法
2012/06/16 面试题
志愿者服务感言
2014/02/27 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
公司优秀员工获奖感言
2014/08/14 职场文书
网吧七夕活动策划方案
2014/08/31 职场文书
2014年学校党建工作总结
2014/11/11 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
停车场管理制度范本
2015/08/05 职场文书
职场:企业印章管理制度(模板)
2019/10/18 职场文书
带你了解CSS基础知识,样式
2021/07/21 HTML / CSS
2021好看的国漫排行榜前十名 《完美世界》上榜,《元龙》排名第一
2022/03/18 国漫
MySQL如何使备份得数据保持一致
2022/05/02 MySQL