jquery带有索引按钮且自动轮播切换特效代码分享


Posted in Javascript onSeptember 15, 2015

本文实例讲述了jquery带有索引按钮且自动轮播切换特效。分享给大家供大家参考。具体如下:
这是一款基于jquery实现的带有索引按钮且自动轮播切换特效代码,实现过程很简单。
运行效果图:                              -------------------查看效果 下载源码-------------------

jquery带有索引按钮且自动轮播切换特效代码分享

小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式。
在head区域引入CSS样式:

<link rel="stylesheet" href="css/reset.css" media="screen">
<link rel="stylesheet" href="css/wy-mod-banner.css" media="screen">

为大家分享的jquery带有索引按钮且自动轮播切换特效代码如下

<!doctype html>
<html lang="zh-cn">
<head>
  <meta charset="utf-8">
  <meta http-equiv="Content-Language" content="zh-cn">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>腾讯微云首页jquery焦点图</title>
  <link rel="stylesheet" href="css/reset.css" media="screen">
  <link rel="stylesheet" href="css/wy-mod-banner.css" media="screen">
  <!--[if IE 6]><script type="text/javascript">try{document.execCommand('BackgroundImageCache',false,true);}catch(e){}</script><![endif]-->
</head>
 <body>
  <div class="wrapper">
    <div class="wy-content">
      <div class="wy-mod-banner">
        <div id="_banners" class="banners">
          <div class="banner banner4">
            <img src="images/banner4.jpg" alt="微云,生活精彩">
            <div class="info">
              <h3>微云,生活精彩</h3>
              <p>收录生活中的点点滴滴,精彩从此刻开始!</p>
              <a href="https://3water.com/jiaoben/" data-log-id="150008" class="link-download" target="_blank" data-log-id="150001"><span>马上下载 </span><i class="bor_c"></i></a>
            </div>
          </div>
          <div class="banner banner3">
            <img src="images/banner3.jpg" alt="微云,生活精彩">
            <div class="info">
              <h3>微云,生活精彩</h3>
              <p>收录生活中的点点滴滴,精彩从此刻开始!</p>
              <a href="https://3water.com/jiaoben/" data-log-id="150008" class="link-download" target="_blank" data-log-id="150001"><span>马上下载 </span><i class="bor_c"></i></a>
            </div>
          </div>
          <div class="banner banner2">
            <img src="images/banner2.jpg" alt="微云,生活精彩">
            <div class="info">
              <h3>微云,生活精彩</h3>
              <p>收录生活中的点点滴滴,精彩从此刻开始!</p>
              <a href="https://3water.com/jiaoben/" data-log-id="150008" class="link-download" target="_blank" data-log-id="150001"><span>马上下载 </span><i class="bor_c"></i></a>
            </div>
          </div>
          <div class="banner banner1">
            <img src="images/banner1.jpg" alt="微云,生活精彩">
            <div class="info">
              <h3>微云,生活精彩</h3>
              <p>收录生活中的点点滴滴,精彩从此刻开始!</p>
              <a href="https://3water.com/jiaoben/" data-log-id="150008" class="link-download" target="_blank" data-log-id="150001"><span>马上下载</span> <i class="bor_c"></i></a>
            </div>
          </div>
        </div>
        <div id="_focus" class="focus">
          <a data-index="0" href="#" class="on">
            <span class="bg-b"></span>
            <span class="inner"></span>
          </a>
          <a data-index="1" href="#">
            <span class="bg-b"></span>
            <span class="inner"></span>
          </a>
          <a data-index="2" href="#">
            <span class="bg-b"></span>
            <span class="inner"></span>
          </a>
          <a data-index="3" href="#">
            <span class="bg-b"></span>
            <span class="inner"></span>
          </a>   
        </div>
      </div>

    </div>

  </div>
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">

  var glume = function(banners_id, focus_id){
    this.$ctn = $('#' + banners_id);
    this.$focus = $('#' + focus_id);
    this.$adLis = null;
    this.$btns = null;
    this.switchSpeed = 5;//自动播放间隔(s)
    this.defOpacity = 1;
    this.crtIndex = 0;
    this.adLength = 0;
    this.timerSwitch = null;
    this.init();
  };
  glume.prototype = {
    fnNextIndex:function(){
      return (this.crtIndex >= this.adLength-1)?0:this.crtIndex+1;
    },
    //动画切换
    fnSwitch:function(toIndex){
      if(this.crtIndex==toIndex){return;}
      this.$adLis.css('zIndex', 0);
      this.$adLis.filter(':eq('+this.crtIndex+')').css('zIndex', 2);
      this.$adLis.filter(':eq('+toIndex+')').css('zIndex', 1);
      this.$btns.removeClass('on');
      this.$btns.filter(':eq('+toIndex+')').addClass('on');
      var me = this;

      $(this.$adLis[this.crtIndex]).animate({
        opacity: 0
      }, 1000, function() {
        me.crtIndex = toIndex;
        $(this).css({
          opacity: me.defOpacity,
          zIndex: 0
        });
      });
    },
    fnAutoPlay:function(){
      this.fnSwitch(this.fnNextIndex());
    },
    fnPlay:function(){
      var me = this;
      me.timerSwitch = window.setInterval(function() {
        me.fnAutoPlay();
      },me.switchSpeed*1000);
    },
    fnStopPlay:function(){
      window.clearTimeout(this.timerSwitch);
      this.timerSwitch = null;
    },

    init:function(){
      this.$adLis = this.$ctn.children();
      this.$btns = this.$focus.children();
      this.adLength = this.$adLis.length;

      var me = this;
      //点击切换
      this.$focus.on('click', 'a', function(e) {
        e.preventDefault();
        var index = parseInt($(this).attr('data-index'), 10)
        me.fnSwitch(index);
      });
      this.$adLis.filter(':eq('+ this.crtIndex +')').css('zIndex', 2);
      this.fnPlay();

      //hover时暂停动画
      this.$ctn.hover(function() {
        me.fnStopPlay();
      }, function() {
        me.fnPlay();
      });

      if($.browser.msie && $.browser.version < 7) {
        this.$btns.hover(function() {
          $(this).addClass('hover');
        },function() {
          $(this).removeClass('hover');
        });
      }
    }
  };
  var player1 = new glume('_banners', '_focus');  
  </script>
</body>
</html>

以上就是为大家分享的基于jquery实现的带有索引按钮且自动轮播切换特效代码,希望大家可以喜欢,并应用到实践中。

Javascript 相关文章推荐
JS 使用for循环遍历子节点查找元素
Sep 06 Javascript
JavaScript实现向右伸出的多级网页菜单效果
Aug 25 Javascript
JS实现的倒计时效果实例(2则实例)
Dec 23 Javascript
理解javascript定时器中的setTimeout与setInterval
Feb 23 Javascript
jquery Form轻松实现文件上传
May 24 jQuery
Angular2+如何去除url中的#号详解
Dec 20 Javascript
es6基础学习之解构赋值
Dec 10 Javascript
详解微信小程序的不同函数调用的几种方法
May 08 Javascript
javascript防抖函数debounce详解
Jun 11 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
Nov 08 Javascript
jQuery实现雪花飘落效果
Aug 02 jQuery
详解CocosCreator项目结构机制
Apr 14 Javascript
jquery图片轮播特效代码分享
Apr 20 #Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
Sep 15 #Javascript
jQuery焦点图切换特效代码分享
Sep 15 #Javascript
jquery点击缩略图切换视频播放特效代码分享
Sep 15 #Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
Sep 15 #Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
Sep 15 #Javascript
基于jQuery滑动杆实现购买日期选择效果
Sep 15 #Javascript
You might like
php 格式化数字的时候注意数字的范围
2010/04/13 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
2017/08/25 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
多浏览器兼容的获取元素和鼠标的位置的js代码
2009/12/15 Javascript
jquery下动态显示jqGrid以及jqGrid的属性设置容易出现问题的解决方法
2010/10/22 Javascript
jQuery UI Autocomplete 1.8.16 中文输入修正代码
2012/04/16 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
js处理自己不能定义二维数组的方法详解
2014/03/03 Javascript
JavaScript实现标题栏文字轮播效果代码
2015/10/24 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
2016/10/25 Javascript
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
js阻止移动端页面滚动的两种方法
2017/01/25 Javascript
Vue.js 表单控件操作小结
2018/03/29 Javascript
Node.js 使用AngularJS的方法示例
2018/05/11 Javascript
vue项目引入Iconfont图标库的教程图解
2018/10/24 Javascript
详解vue几种主动刷新的方法总结
2019/02/19 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
2020/12/03 Vue.js
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
2018/01/06 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
2019/01/07 Python
Python-接口开发入门解析
2019/08/01 Python
Django单元测试工具test client使用详解
2019/08/02 Python
python中的TCP(传输控制协议)用法实例分析
2019/11/15 Python
virtualenv介绍及简明教程
2020/06/23 Python
python能做哪些生活有趣的事情
2020/09/09 Python
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
中国第一家杂志折扣订阅网:杂志铺
2016/08/30 全球购物
老师对学生的评语
2014/04/18 职场文书
学校就业推荐信范文
2014/05/19 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
银行业务授权委托书
2014/10/10 职场文书
2015年采购员工作总结
2015/04/27 职场文书
深入理解MySQL中MVCC与BufferPool缓存机制
2022/05/25 MySQL
Win10此设备不支持接收Miracast无法投影的解决方法
2022/07/07 数码科技