基于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 相关文章推荐
基于jquery自己写tab滑动门(通用版)
Oct 30 Javascript
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
Apr 28 Javascript
js冒泡法和数组转换成字符串示例代码
Aug 14 Javascript
JavaScript判断是否为数组的3种方法及效率比较
Apr 01 Javascript
jQuery实现浮动层随浏览器滚动条滚动的方法
Sep 22 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
Aug 04 Javascript
Angular2学习教程之ng中变更检测问题详解
May 28 Javascript
vue脚手架及vue-router基本使用
Apr 09 Javascript
微信小程序实现录音功能
Nov 22 Javascript
es6函数中的作用域实例分析
Apr 18 Javascript
Node.js 中如何收集和解析命令行参数
Jan 08 Javascript
介绍一下28个JS常用数组方法
May 06 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
简单的php 验证图片生成函数
2009/05/21 PHP
php中print(),print_r(),echo()的区别详解
2014/12/01 PHP
PHP生成静态HTML页面最简单方法示例
2015/04/09 PHP
Yii2 RESTful中api的使用及开发实例详解
2016/07/06 PHP
背景音乐每次刷新都可以自动更换
2007/02/01 Javascript
用cssText批量修改样式
2009/08/29 Javascript
全面解析Bootstrap图片轮播效果
2015/12/03 Javascript
分享jQuery网页元素拖拽插件
2020/12/01 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
vue实现百度搜索下拉提示功能实例
2017/06/14 Javascript
Vue官网todoMVC示例代码
2018/01/29 Javascript
深入解析koa之中间件流程控制
2019/06/17 Javascript
在vue中使用vant TreeSelect分类选择组件操作
2020/11/02 Javascript
PHP魔术方法__ISSET、__UNSET使用实例
2014/11/25 Python
Python简单操作sqlite3的方法示例
2017/03/22 Python
python批量爬取下载抖音视频
2019/06/17 Python
python3.x提取中文的正则表达式示例代码
2019/07/23 Python
pygame实现成语填空游戏
2019/10/29 Python
Pycharm中Python环境配置常见问题解析
2020/01/16 Python
Pycharm debug调试时带参数过程解析
2020/02/03 Python
Python日期格式和字符串格式相互转换的方法
2020/02/18 Python
解决python3插入mysql时内容带有引号的问题
2020/03/02 Python
Python实现简单猜数字游戏
2021/02/03 Python
详解CSS3中的box-sizing(content-box与border-box)
2019/04/19 HTML / CSS
线程的基本概念、线程的基本状态以及状态之间的关系
2012/10/26 面试题
化学相关工作求职信
2013/10/02 职场文书
项目资料员岗位职责
2013/12/10 职场文书
法律专业实习鉴定
2013/12/22 职场文书
2014年结对帮扶工作总结
2014/12/17 职场文书
2014年学生管理工作总结
2014/12/20 职场文书
初中英语教师个人工作总结
2015/02/09 职场文书
实习生辞职信范文
2015/03/02 职场文书
少先队工作总结2015
2015/05/13 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书
2016春季幼儿园小班开学寄语
2015/12/03 职场文书
读《工匠精神》有感:热爱工作,精益求精
2019/12/28 职场文书