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 相关文章推荐
js 匿名调用实现代码
Jun 19 Javascript
常规表格多表头查询示例
Feb 21 Javascript
简介AngularJS的HTML DOM支持情况
Jun 17 Javascript
图解Sublime Text3使用技巧
Dec 21 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
Jun 13 Javascript
Bootstrap基本组件学习笔记之列表组(11)
Dec 07 Javascript
VsCode插件整理(小结)
Sep 14 Javascript
探索webpack模块及webpack3新特性
Sep 18 Javascript
js实现轮播图的两种方式(构造函数、面向对象)
Sep 30 Javascript
webpack自动打包和热更新的实现方法
Jun 24 Javascript
原生js实现的移动端可拖动进度条插件功能详解
Aug 15 Javascript
vue中使用vee-validator完成表单校验方案
Nov 01 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
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
PHP实现浏览器中直接输出图片的方法示例
2018/03/14 PHP
JavaScript进阶教程(第四课第一部分)
2007/04/05 Javascript
Jquery cookie操作代码
2010/03/14 Javascript
js事件冒泡实例分享(已测试)
2013/04/23 Javascript
页面载入结束自动调用js函数示例
2013/09/23 Javascript
js拖拽一些常见的思路方法整理
2014/03/19 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
2016/10/27 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
Vue创建头部组件示例代码详解
2018/10/23 Javascript
layer父页获取弹出层输入框里面的值方法
2019/09/02 Javascript
vue 实现v-for循环回来的数据动态绑定id
2019/11/07 Javascript
Vue如何提升首屏加载速度实例解析
2020/06/25 Javascript
python3获取两个日期之间所有日期,以及比较大小的实例
2018/04/08 Python
python3利用ctypes传入一个字符串类型的列表方法
2019/02/12 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
pytorch中的自定义数据处理详解
2020/01/06 Python
利用keras加载训练好的.H5文件,并实现预测图片
2020/01/24 Python
全网最全python库selenium自动化使用详细教程
2021/01/12 Python
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
Java中各种基本数据类型的默认值都是什么
2016/12/22 面试题
生产车间实习自我鉴定
2013/09/23 职场文书
光盘行动倡议书
2014/02/02 职场文书
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
租赁协议书范本
2014/04/22 职场文书
网站推广策划方案
2014/06/04 职场文书
2014年团委工作总结
2014/11/13 职场文书
教师个人师德工作总结2015
2015/05/12 职场文书
初三语文教学反思
2016/03/03 职场文书
pytorch加载预训练模型与自己模型不匹配的解决方案
2021/05/13 Python
Python中的pprint模块
2021/11/27 Python
P站美图推荐——变身女主角特辑
2022/03/20 日漫