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自定义DateDiff函数(兼容所有浏览器)
Mar 01 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
Jun 16 Javascript
js与C#进行时间戳转换
Nov 14 Javascript
jquery实现submit提交表单
Feb 03 Javascript
jQuery+PHP星级评分实现方法
Oct 02 Javascript
逐一介绍Jquery data()、Jquery stop()、jquery delay()函数(详)
Nov 04 Javascript
javascript中Number的方法小结
Nov 21 Javascript
图文详解Javascript中的上下文和作用域
Feb 15 Javascript
Bootstrap Table使用整理(一)
Jun 09 Javascript
jQuery EasyUI开发技巧总结
Sep 26 jQuery
vue+element 实现商城主题开发的示例代码
Mar 26 Javascript
JavaScript流程控制(循环)
Dec 06 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
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
PHP中ini_set和ini_get函数的用法小结
2014/02/18 PHP
Yii2简单实现给表单添加验证码的方法
2016/07/18 PHP
PHP实现正则表达式分组捕获操作示例
2018/02/03 PHP
PHP正则表达式笔记与实例详解
2019/05/09 PHP
JavaScript中实现依赖注入的思路分享
2015/01/15 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
jQuery代码实现对话框右上角菜单带关闭×
2016/05/03 Javascript
Three.js学习之文字形状及自定义形状
2016/08/01 Javascript
Bootstrap的Carousel配合dropload.js实现移动端滑动切换图片
2017/03/10 Javascript
微信小程序 下拉菜单的实现
2017/04/06 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
让div运动起来 js实现缓动效果
2017/07/06 Javascript
JavaScript判断变量名是否存在数组中的实例
2017/12/28 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
javascript实现小型区块链功能
2019/04/03 Javascript
js实现弹幕墙效果
2020/12/10 Javascript
Python获取二维矩阵每列最大值的方法
2018/04/03 Python
linux下python使用sendmail发送邮件
2018/05/22 Python
详解Django+Uwsgi+Nginx的生产环境部署
2018/06/25 Python
基于随机梯度下降的矩阵分解推荐算法(python)
2018/08/31 Python
详解python执行shell脚本创建用户及相关操作
2019/04/11 Python
PyTorch之图像和Tensor填充的实例
2019/08/18 Python
python实现图片横向和纵向拼接
2020/03/05 Python
Python使用Pygame绘制时钟
2020/11/29 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
德国网上宠物店:Zoobio
2018/05/23 全球购物
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
自荐信的两点禁忌
2013/10/30 职场文书
借款协议书
2014/04/12 职场文书
个人担保书范文
2014/05/20 职场文书
2014年小学教导处工作总结
2014/12/19 职场文书
2016学习雷锋精神活动倡议书
2015/04/27 职场文书
2016年“5.12”护士节致辞
2015/07/31 职场文书
游戏《东方异文石:爱亚利亚黎明》正式版发布
2022/04/03 其他游戏