源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

jquery实现每个数字上都带进度条的幻灯片

  • 时间:2022-01-12 03:14 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:jquery实现每个数字上都带进度条的幻灯片
记得亚马逊没改版之前,首页的幻灯片我很喜欢,每个数字上面都带有进度条。 闲的无聊,自己实现了一个。用的jquery。 主要用到animate()方法, 因为有一个进度条的播放过程。 不支持ie6,当然,改改还是可以的。 [url=http://demo.jb51.net/js/2013/slideplay/]演示[/url] [url=http://xiazai.jb51.net/201302/yuanma/slideplay_jb51net.rar]下载 [/url]先看下效果图 [img]http://files.jb51.net/file_images/article/201302/2013220162640859.jpg?2013120162728[/img]   看代码吧:
[u]复制代码[/u] 代码如下:
<!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>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部