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 相关文章推荐
判断用户是否在线的代码
Mar 05 Javascript
jquery入门—访问DOM对象方法
Jan 07 Javascript
动态加载jQuery的两种方法实例分析
Jul 17 Javascript
JS实现可点击展开与关闭的左侧广告代码
Sep 02 Javascript
深入解析JavaScript编程中的this关键字使用
Nov 09 Javascript
angularjs封装$http为factory的方法
May 18 Javascript
Angular4学习之Angular CLI的安装与使用教程
Jan 04 Javascript
实例学习JavaScript读取和写入cookie
Jan 29 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
Mar 09 Javascript
微信小程序文章详情页跳转案例详解
Jul 09 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
Nov 12 Javascript
jQuery插件实现图片轮播效果
Oct 19 jQuery
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 学习路线与时间表
2010/02/21 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
php 浮点数比较方法详解
2017/05/05 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
2020/08/17 PHP
PHP 图片处理
2020/09/16 PHP
新鲜出炉的js tips提示效果
2011/04/03 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
防止登录页面出现在frame中js代码
2014/07/22 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
基于JS实现的倒计时程序实例
2015/07/24 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
jQueryUI中的datepicker使用方法详解
2016/05/25 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
Vue概念及常见命令介绍(1)
2016/12/08 Javascript
10个在JavaScript开发中常遇到的BUG
2017/12/18 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
js通过canvas生成图片缩略图
2020/10/02 Javascript
[01:14:19]NAVI vs Mineski 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
python发送伪造的arp请求
2014/01/09 Python
Python实现字典依据value排序
2016/02/24 Python
详解Python中类的定义与使用
2017/04/11 Python
Django进阶之CSRF的解决
2018/08/01 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
python实现一个简单的ping工具方法
2019/01/31 Python
Python PIL图片添加字体的例子
2019/08/22 Python
解决Pycharm 导入其他文件夹源码的2种方法
2020/02/12 Python
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
关于HTML5+ API plusready的兼容问题
2020/11/20 HTML / CSS
美国从事品牌鞋类零售的连锁店:Famous Footwear
2016/08/25 全球购物
YBF Beauty官网:美丽挚友,美国知名彩妆品牌
2020/11/22 全球购物
C/C++有关内存的思考题
2015/12/04 面试题
普通大学毕业生自荐信
2013/11/04 职场文书
公务员转正鉴定材料
2014/02/11 职场文书
银行竞聘上岗演讲稿
2014/09/12 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
学校团代会开幕词
2016/03/04 职场文书