jquery实现每个数字上都带进度条的幻灯片


Posted in Javascript onFebruary 20, 2013

记得亚马逊没改版之前,首页的幻灯片我很喜欢,每个数字上面都带有进度条。
闲的无聊,自己实现了一个。用的jquery。
主要用到animate()方法,
因为有一个进度条的播放过程。
不支持ie6,当然,改改还是可以的。
演示
下载
先看下效果图
jquery实现每个数字上都带进度条的幻灯片 
看代码吧:

<!DOCTYPE html> 
<html> 
<head> 
<title>slide play with loadbar--by loethen</title> 
<meta charset='utf-8'> 
<style> 
*{padding: 0;margin:0;} 
ul li{list-style: none;} 
.slideplay ,.slideshow{ 
position: relative; 
} 
.slideshow li{ 
position: absolute; 
left: 0; 
top: 0; 
display: none; 
} 
.loadbar{ 
position: absolute; 
bottom: 60px; 
left: 250px; 
z-index: 9; 
} 
.loadbar li{ 
width: 40px; 
height: 20px; 
float: left; 
position: relative; 
margin-right: 5px; 
border-radius: 2px; 
border: 1px solid #e5f9ff; 
} 
.loadbar span{ 
position: absolute; 
left: 0; 
top: 0; 
height: 20px; 
width: 40px; 
text-align: center; 
z-index: 12; 
cursor: pointer; 
color: #fff; 
border-radius: 2px; 
} 
.loadbar em{ 
position: absolute; 
left: 0; 
top: 0; 
height: 20px; 
background: #31d81a; 
z-index: 10; 
border-radius: 2px; 
opacity: 0.7 
} 
.zindex{ 
z-index: 1; 
} 
</style> 
<script src='js/jquery.min.js'></script> 
</head> 
<body> 
<div id="slideplay" class='slideplay'> 
<ul class='slideshow'> 
<li><img src="images/a.jpg" alt=""></li> 
<li><img src="images/b.jpg" alt=""></li> 
<li><img src="images/c.jpg" alt=""></li> 
<li><img src="images/d.jpg" alt=""></li> 
<li><img src="images/e.jpg" alt=""></li> 
</ul> 
<ul class='loadbar clearfix'> 
<li> 
<span>1</span> 
<em></em> 
</li> 
<li> 
<span>2</span> 
<em></em> 
</li> 
<li> 
<span>3</span> 
<em></em> 
</li> 
<li> 
<span>4</span> 
<em></em> 
</li> 
<li> 
<span>5</span> 
<em></em> 
</li> 
</ul> 
</div> 
<script type='text/javascript'> 
$(function(){ 
var slide = $('.slideplay'), 
ulShow = $('.slideshow'), 
sLi = ulShow.find('li'), 
bLi = $('.loadbar li'), 
len = sLi.length; 
var option ={ 
speed:3000, 
barWidth:40 
}, 
barSpeed = option.speed-100; 
var w = sLi.first().width(), 
h = sLi.first().height(); 
var flag = 0, 
timer = null; 
ulShow.css({ 
width:w+'px', 
height:h+'px' 
}); 
slide.css({ 
width:w+'px', 
height:h+'px' 
}); 
init(); 
function init(){ 
sLi.eq(flag).addClass('zindex').show(); 
bLi.eq(flag).find('em').animate({width:option.barWidth},barSpeed); 
timer = setTimeout(function(){ 
next(); 
},option.speed); 
ulShow.on('mouseover',doStop); 
ulShow.on('mouseleave',doAuto); 
bLi.on('mouseover',handPattern); 
} 
function handPattern(){ 
doStop(); 
flag = $(this).index(); 
imgMove(); 
bLi.find('em').css('width',0); 
bLi.eq(flag).find('em').width(option.barWidth); 
} 
function doStop(){ 
timer && clearTimeout(timer); 
bLi.eq(flag).find('em').stop(); 
} 
function doAuto(){ 
var em = bLi.eq(flag).find('em'), 
w = em.width(), 
leftW = option.barWidth - w , 
sec = (leftW * barSpeed)/option.barWidth; 
em.animate({width:option.barWidth},sec,function(){ 
if(flag==len-1){ 
em.width(0); 
next(); 
}else{ 
next(); 
} 
}); 
} 
function next(){ 
flag++; 
flag==len && (flag=0); 
doMove(); 
} 
function doMove(){ 
imgMove(); 
loadbarMove(); 
} 
function imgMove(){ 
sLi.eq(flag).addClass('zindex').fadeIn('slow') 
.siblings().removeClass('zindex').fadeOut('slow'); 
} 
function loadbarMove(){ 
bLi.eq(flag).find('em'). 
animate({width:option.barWidth},barSpeed,function(){ 
if(flag==len-1){ 
bLi.find('em').width(0); 
next(); 
}else{ 
next(); 
} 
}); 
} 
}) 
</script> 
</body> 
</html>
Javascript 相关文章推荐
javascript闭包的理解和实例
Aug 12 Javascript
jquery中实现简单的tabs插件功能的代码
Mar 02 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
Nov 26 Javascript
jQuery分别获取选中的复选框值的示例
Jun 17 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
Nov 03 Javascript
Jquery Easyui表单组件Form使用详解(30)
Dec 19 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
Feb 18 jQuery
js数组去重的方法总结
Jan 18 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
Feb 13 Javascript
layui表格数据重载
Jul 27 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
Sep 05 Javascript
解决Layui数据表格显示无数据提示的问题
Nov 14 Javascript
javascript通过class来获取元素实现代码
Feb 20 #Javascript
javascript自适应宽度的瀑布流实现思路
Feb 20 #Javascript
Raphael带文本标签可拖动的图形实现代码
Feb 20 #Javascript
IE关闭时判断及AJAX注销案例学习
Feb 18 #Javascript
JS刷新框架外页面七种实现代码
Feb 18 #Javascript
js获取html参数及向swf传递参数应用介绍
Feb 18 #Javascript
用js写了一个类似php的print_r输出换行功能
Feb 18 #Javascript
You might like
PHP图形计数器程序显示网站用户浏览量
2016/07/20 PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
2016/12/14 PHP
JS 自动完成 AutoComplete(Ajax 查询)
2009/07/07 Javascript
五个jQuery图片画廊插件 推荐
2011/05/12 Javascript
一行代码告别document.getElementById
2012/06/01 Javascript
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
基于Vue2的移动端开发环境搭建详解
2016/11/03 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
JS随机密码生成算法
2019/09/23 Javascript
Vuex实现数据增加和删除功能
2019/11/11 Javascript
讲解Python中for循环下的索引变量的作用域
2015/04/15 Python
Python实现求笛卡尔乘积的方法
2017/09/16 Python
Python线程之定位与销毁的实现
2019/02/17 Python
Python3.5实现的罗马数字转换成整数功能示例
2019/02/25 Python
Python深拷贝与浅拷贝用法实例分析
2019/05/05 Python
自定义django admin model表单提交的例子
2019/08/23 Python
python实现智能语音天气预报
2019/12/02 Python
根据tensor的名字获取变量的值方式
2020/01/04 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
2020/02/29 Python
Django接收照片储存文件的实例代码
2020/03/07 Python
Pycharm及python安装详细教程(图解)
2020/07/31 Python
python 如何引入协程和原理分析
2020/11/30 Python
美国领先的机场停车聚合商:Airport Parking Reservations
2020/02/28 全球购物
Molton Brown美国官网:奢华美容、香水、沐浴和身体护理
2020/09/02 全球购物
政治表现评语
2014/05/04 职场文书
离退休人员聘用协议书
2014/11/24 职场文书
三八妇女节寄语
2015/02/27 职场文书
工作态度怎么写
2015/06/25 职场文书
2016春季运动会通讯稿
2015/07/18 职场文书
职场新人知识:如何制定一份合理的工作计划?
2019/09/11 职场文书
javascript数组includes、reduce的基本使用
2021/07/02 Javascript
SQL语句中JOIN的用法场景分析
2021/07/25 SQL Server
升级 Win11 还是坚守 Win10?微软 Win11 新系统缺失功能大盘点
2022/04/05 数码科技
微信小程序实现轮播图指示器
2022/06/25 Javascript