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中的History历史对象
Jan 16 Javascript
浅析Js(Jquery)中,字符串与JSON格式互相转换的示例(直接运行实例)
Jul 09 Javascript
jquery提取元素里的纯文本不包含span等里的内容
Sep 30 Javascript
JS截取字符串常用方法整理及使用示例
Oct 18 Javascript
jQuery热气球动画半透明背景的后台登录界面代码分享
Aug 28 Javascript
JavaScript Length 属性的总结
Nov 02 Javascript
js判断手机浏览器操作系统和微信浏览器的方法
Apr 30 Javascript
javascript淘宝主图放大镜功能
Oct 20 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
May 10 Javascript
详解js几个绕不开的事件兼容写法
Aug 30 Javascript
Webstorm2016使用技巧(SVN插件使用)
Oct 29 Javascript
了解重排与重绘
May 29 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旋转图片90度的方法
2013/11/07 PHP
php实现分页工具类分享
2014/01/09 PHP
PHP的mysqli_ssl_set()函数讲解
2019/01/23 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
php curl发送请求实例方法
2019/08/01 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
javascript生成不重复的随机数
2015/07/17 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
2015/11/24 Javascript
详解nodejs 文本操作模块-fs模块(三)
2016/12/22 NodeJs
原生js实现类似fullpage的单页/全屏滚动
2017/01/22 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
微信小程序收藏功能的实现代码
2018/06/12 Javascript
详解Vue项目部署遇到的问题及解决方案
2019/01/11 Javascript
Vue路由模块化配置的完整步骤
2019/08/14 Javascript
详解webpack的文件监听实现(热更新)
2020/09/11 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
Python中利用sorted()函数排序的简单教程
2015/04/27 Python
python自动化脚本安装指定版本python环境详解
2017/09/14 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
python+opencv实现阈值分割
2018/12/26 Python
python3操作注册表的方法(Url protocol)
2020/02/05 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
python模块如何查看
2020/06/16 Python
HTML中fieldset标签概述及使用方法
2013/02/01 HTML / CSS
美国紧身牛仔裤品牌:NYDJ
2017/05/24 全球购物
如何处理简单的PHP错误
2015/10/14 面试题
2014端午节活动策划方案
2014/01/27 职场文书
幼儿园小班评语
2014/04/18 职场文书
团日活动总结怎么写
2014/06/25 职场文书
2014年企业党支部工作总结
2014/12/04 职场文书
关于倡议书的范文
2015/04/29 职场文书
学习经验交流会策划书
2015/11/02 职场文书
【DOTA2】半决赛强强对话~ PSG LGD vs EHOME - DPC 2022 CN REGIONAL FINALS WINTER
2022/04/02 DOTA
数据分析数据库ClickHouse在大数据领域应用实践
2022/04/03 MySQL
Win10 Anaconda安装python-pcl
2022/04/29 Servers
mysql幻读详解实例以及解决办法
2022/06/16 MySQL