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 相关文章推荐
ExtJS自定义主题(theme)样式详解
Nov 18 Javascript
纯js实现遮罩层效果原理分析
May 27 Javascript
javascript实现根据3原色制作颜色选择器的方法
Jul 17 Javascript
Bootstrap每天必学之栅格系统(布局)
Nov 25 Javascript
JS实现字符串转驼峰格式的方法
Dec 16 Javascript
JS实现的数字格式化功能示例
Feb 10 Javascript
js实现数组内数据的上移和下移的实例
Nov 14 Javascript
vue iview实现动态路由和权限验证功能
Apr 17 Javascript
15分钟深入了解JS继承分类、原理与用法
Jan 19 Javascript
如何通过setTimeout理解JS运行机制详解
Mar 23 Javascript
使用vue cli4.x搭建vue项目的过程详解
May 08 Javascript
Node.js path模块,获取文件后缀名操作
Nov 07 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
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
2014/06/05 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
2015/02/12 PHP
php导出生成word的方法
2015/12/25 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
jquery隐藏标签和显示标签的实例
2013/11/11 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
Javascript基础教程之关键字和保留字汇总
2015/01/18 Javascript
jQuery仿天猫实现超炫的加入购物车
2015/05/04 Javascript
基于JavaScript代码实现pc与手机之间的跳转
2015/12/23 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
完美解决手机网页中输入框被输入法遮挡的问题
2017/12/19 Javascript
Vue无限滑动周选择日期的组件的示例代码
2018/07/18 Javascript
vue-cli3 热更新配置操作
2020/09/18 Javascript
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
跟老齐学Python之关于类的初步认识
2014/10/11 Python
Python多线程原理与用法详解
2018/08/20 Python
Python爬取商家联系电话以及各种数据的方法
2018/11/10 Python
python实现字符串加密成纯数字
2019/03/19 Python
python版DDOS攻击脚本
2019/06/12 Python
python中对数据进行各种排序的方法
2019/07/02 Python
Python3运算符常见用法分析
2020/02/14 Python
django queryset相加和筛选教程
2020/05/18 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
通过代码实例了解Python3编程技巧
2020/10/13 Python
Python3 用什么IDE开发工具比较好
2020/11/28 Python
阿里云:Aliyun.com
2017/02/15 全球购物
韩国现代百货官网:Hmall
2018/03/21 全球购物
广州某公司软件工程师面试题
2014/12/22 面试题
Delphi笔试题
2016/11/14 面试题
中层领导干部群众路线对照检查材料思想汇报
2014/10/02 职场文书
小学优秀班主任材料
2014/12/17 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
Pytorch 如何实现LSTM时间序列预测
2021/05/17 Python