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 相关文章推荐
B/S开发中常用javaScript技术与代码
Mar 09 Javascript
js删除所有的cookie的代码
Nov 25 Javascript
js从10种颜色中随机取色实现每次取出不同的颜色
Oct 23 Javascript
JavaScript利用构造函数和原型的方式模拟C#类的功能
Mar 06 Javascript
js 动态为textbox添加下拉框数据源的方法
Apr 24 Javascript
Vue.js每天必学之计算属性computed与$watch
Sep 05 Javascript
JS中使用 after 伪类清除浮动实例
Mar 01 Javascript
jQuery中map函数的两种方式
Apr 07 jQuery
Angular 2父子组件之间共享服务通信的实现
Jul 04 Javascript
jQuery实现菜单栏导航效果
Aug 15 jQuery
基于JavaScript实现幸运抽奖页面
Jul 05 Javascript
小程序自动化测试的示例代码
Aug 11 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无限级分类方法及代码
2013/06/21 PHP
Zend Framework页面缓存实例
2014/06/25 PHP
php中实现xml与mysql数据相互转换的方法
2014/12/25 PHP
php实现mysql备份恢复分卷处理的方法
2014/12/26 PHP
PHP弹出对话框技巧详细解读
2015/09/26 PHP
PHP设计模式之模板模式定义与用法详解
2018/12/20 PHP
Firefox和IE浏览器兼容JS脚本写法小结
2008/07/07 Javascript
jquery $.ajax各个事件执行顺序
2010/10/15 Javascript
检测input每次的输入是否合法遇到汉字输入就有问题
2012/05/23 Javascript
火狐textarea输入法的bug的触发及解决
2013/07/24 Javascript
js 触发select onchange事件代码
2014/03/20 Javascript
jQuery+ajax实现无刷新级联菜单示例
2015/05/21 Javascript
js实现超简单的展开、折叠目录代码
2015/08/28 Javascript
跟我学习javascript的this关键字
2020/05/28 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
jQuery实现div横向拖拽排序的简单实例
2016/07/13 Javascript
javascript+jQuery实现360开机时间显示效果
2017/11/03 jQuery
vue-cli 3.0 版本与3.0以下版本在搭建项目时的区别详解
2018/12/11 Javascript
vue递归组件实战之简单树形控件实例代码
2019/08/27 Javascript
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
Vue 实例中使用$refs的注意事项
2021/01/29 Vue.js
python十进制转二进制的详解
2020/02/07 Python
Python netmiko模块的使用
2020/02/14 Python
Python使用type动态创建类操作示例
2020/02/29 Python
python IP地址转整数
2020/11/20 Python
html5实现输入框fixed定位在屏幕最底部兼容性
2020/07/03 HTML / CSS
Hotter Shoes英国官网:英伦风格,舒适的鞋子
2017/12/28 全球购物
乌克兰机票、铁路和巴士票、酒店搜索、保险:Tickets.ua
2020/01/11 全球购物
Cynthia Rowley官网:全球领先的生活方式品牌
2020/10/27 全球购物
生日派对邀请函
2014/01/13 职场文书
争论的故事教学反思
2014/02/06 职场文书
企业办公室岗位职责
2014/03/12 职场文书
职务说明书范文
2014/05/07 职场文书
白酒代理协议书范本
2014/10/26 职场文书
如何让2019年上半年的工作总结更出色!
2019/07/01 职场文书
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS