全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

jquery版轮播图效果和extend扩展

本文实例为大家分享了jquery版本轮播图及extend扩展的具体代码,供大家参考,具体内容如下

具体代码如下

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    *{
      margin:0;
      padding:0;
      font-size:14px;
      -webkit-user-select:none;
    }
    ul,li{
      list-style:none;
    }
    img{
      display:block;
      border:none;
    }
    a{
      text-decoration: none;
    }
    .banner{
      position:relative;
      margin:10px auto;
      width:1000px;
      height:300px;
      overflow:hidden;
    }
    .bannerInner{
      width:100%;
      height:100%;
      background:url("../img/default.gif") no-repeat center center;
    }
    .bannerInner div{
      position:absolute;
      top:0;
      left:0;
      z-index:0;
      width:100%;
      height:100%;
      opacity: 0;
      filter:alpha(opacity=0);
    }
    .bannerInner div img{
      display:none;
      width:100%;
      height:100%;
    }
    .banner .bannerTip{
      position:absolute;
      right:20px;
      bottom:20px;
      z-index:10;
      overflow:hidden;
    }
    .banner .bannerTip li{
      float:left;
      margin-left:10px;
      width:18px;
      height:18px;
      background:lightblue;
      border-radius:50%;
      cursor:pointer;
    }
    .banner .bannerTip li.bg{
      background:orange;
    }
    .banner a{
      display:none;
      position:absolute;
      top:50%;
      margin-top:-22.5px;
      z-index:10;
      width:30px;
      height:45px;
      opacity: 0.5;
      filter:alpha(opacity=50);
      background-image:url('../img/pre.png');

    }
    .banner a.bannerLeft{
      left:20px;
      background-position:0 0;
    }
    .banner a.bannerRight{
      right:20px;
      background-position:-50px 0;
    }
    .banner a:hover{
      opacity: 1;
      filter:alpha(opacity=100);
    }
  </style>
</head>
<body>
  <div class='banner' id='bannerFir'>
    <div class='bannerInner'>
      <div><img src="" alt="" trueImg='img/banner1.jpg'></div>
      <div><img src="" alt="" trueImg='img/banner2.jpg'></div>
      <div><img src="" alt="" trueImg='img/banner3.jpg'></div>
      <div><img src="" alt="" trueImg='img/banner4.jpg'></div>
    </div>
    <ul class='bannerTip'>
      <li class='bg'></li>
      <li></li>
      <li></li>
      <li></li>
    </ul>
    <a href="javascript:;" rel="external nofollow" rel="external nofollow" class='bannerLeft'></a>
    <a href="javascript:;" rel="external nofollow" rel="external nofollow" class='bannerRight'></a>
  </div>

  <script>
    jQuery.fn.extend({
      banner:myBanner
    })
    //通过jQuery选择器或者筛选的方法获取到的jQuery集合是不存在dom映射机制的,之前获取到的dom集合,之后再页面中HTML结构改变了,集合中的内容不会跟着自动发生变化(JS获取的元素集合有DOM映射的机制)
    function myBanner(selector,ajaxURL,interval){
      var $banner = $("#"+selector);
      var $bannerInner = $banner.children(".bannerInner"),$divList = null,$imgList = null;
      var $bannerTip = $banner.children(".bannerTip"),$oLis = null
      var $bannerLeft = $banner.children(".bannerLeft"),$bannerRight = $banner.children(".bannerRight")

      //1、Ajax读取数据
      var jsonData = null;
      $.ajax({
        url:ajaxURL+"?_="+Math.random(),
        type:'get',
        dataType::"json",
        async:false,//当前的请求是同步的
        success:function(data){
          jsonData = data;

        }
      })
      //2、实现数据的绑定
      function bindData(){
        var str = "",str2 = "";
        if(jsonData){
          //原生的jsonData使用$.each()
          $.each(jsonData,function(index,item){
            str+='<div><img src="" alt="" trueImg="'+item["img"]+'"></div>';
            index===0?str2+='<li class="bg"></li>':str2+='<li></li>'
          })

          $bannerInner.html(str);
          $bannerTip.html(str2);
          $divList = $bannerInner.children("div")
          $imgList = $bannerInner.find('img')
          $oLis = $bannerTip.children("li")
        }
      }
      //3、实现图片的延迟加载
      window.setTimeout(lazyImg,500);
      function lazyImg(){
        //jquery元素集合 直接写$imgList.each()
        $imgList.each(function(index,item){
          var _this = this;
          var oImg = new Image;
          oImg.src = $(this).attr("trueImg");//$(this)等价于$(item)
          oImg.onload = function(){
            $(_this).prop('src',this.src).css("display","block")//内置属性使用prop
          }
        })
        $divList.eq(0).css("zIndex",1).animate({opacity:1},300);
      }
      //封装一个轮播图切换的效果
      function changeBanner(){
        var $curDiv = $divList.eq(step);
        $curDiv.css("zIndex",1).siblings().css("zIndex",0);
        $curDiv.animate({opacity:1},300,function(){
          $(this).siblings().css("opacity",0)
        })
        $oLis.eq(step).addClass("bg").siblings().removeClass('bg')
      }
      //4、实现自动轮播
      interval = interval || 3000;
      var step = 0,autoTimer = null;
      autoTimer = window.setInterval(autoMove,interval)
      function autoMove(){
        if(step === jsonData.length-1){
          step = -1;
        }
        step++;
        changeBanner();
      }
      //5、控制左右按钮的显示隐藏和自动轮播的开始和暂停
      $banner.on('mouseover',function(){
        window.clearInterval(autoTimer);
        $bannerLeft.css("display","block")
        $bannerRight.css("display","block")
      }).on('mouseout',function(){
        autoTimer = window.setInterval(autoMove,interval);
        $bannerLeft.css("display","none")
        $bannerRight.css("display","none")

      })
      //6、实现焦点切换
      $oLis.on('click',function(){
        step = $(this).index();
        changeBanner();
      })

      //7、实现左右切换
      $bannerRight.on('click',autoMove);
      $bannerLeft.on('click',function(){
        if(step===0){
          step = jsonData.length;
        }
        step--;
        changeBanner();
      });

    }


    //外部使用
    $().banner("bannerFir","json/banner.txt",1000)
  </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# jquery  # 轮播图  # jquery实现左右轮播图效果  # JQuery和html+css实现带小圆点和左右按钮的轮播图实例  # jQuery制作全屏宽度固定高度轮播图(实例讲解)  # jquery实现左右滑动式轮播图  # jQuery实现一个简单的轮播图  # jQuery按需加载轮播图(web前端性能优化)  # jquery实现轮播图效果  # 用jQuery实现优酷首页轮播图  # jQuery无缝轮播图代码  # jquery 实现轮播图详解及实例代码  # 原生Javascript和jQuery做轮播图简单例子  # jQuery实现简洁的轮播图效果实例  # jquery写出PC端轮播图实例  # 不存在  # 大家分享  # 绑定  # 具体内容  # 大家多多  # 加载  # 改变了  # 选择器  # gif  # default  # url  # repeat  # absolute  # top  # center  # div  # height  # width  # auto  # background 


相关文章: 建站之星后台密码遗忘?如何快速找回?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  如何用AWS免费套餐快速搭建高效网站?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  表情包在线制作网站免费,表情包怎么弄?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  利用JavaScript实现拖拽改变元素大小  济南专业网站制作公司,济南信息工程学校怎么样?  建站之星云端配置指南:模板选择与SEO优化一键生成  如何选购建站域名与空间?自助平台全解析  如何通过宝塔面板实现本地网站访问?  如何通过服务器快速搭建网站?完整步骤解析  如何快速完成中国万网建站详细流程?  做企业网站制作流程,企业网站制作基本流程有哪些?  如何选择PHP开源工具快速搭建网站?  建站主机解析:虚拟主机配置与服务器选择指南  Bpmn 2.0的XML文件怎么画流程图  临沂网站制作公司有哪些,临沂第四中学官网?  如何获取PHP WAP自助建站系统源码?  如何在云指建站中生成FTP站点?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  建站之星导航配置指南:自助建站与SEO优化全解析  黑客如何通过漏洞一步步攻陷网站服务器?  建站之星ASP如何实现CMS高效搭建与安全管理?  如何通过西部建站助手安装IIS服务器?  如何在七牛云存储上搭建网站并设置自定义域名?  MySQL查询结果复制到新表的方法(更新、插入)  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  如何通过智能用户系统一键生成高效建站方案?  建站之星CMS五站合一模板配置与SEO优化指南  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  建站主机功能解析:服务器选择与快速搭建指南  北京制作网站的公司,北京铁路集团官方网站?  建站之星官网登录失败?如何快速解决?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  制作网站的基本流程,设计网站的软件是什么?  建站之星安装提示数据库无法连接如何解决?  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  网站制作软件有哪些,制图软件有哪些?  制作国外网站的软件,国外有哪些比较优质的网站推荐?  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  制作网站的模板软件,网站怎么建设?  如何通过建站之星自助学习解决操作问题?  建站VPS推荐:2025年高性能服务器配置指南  如何配置IIS站点权限与局域网访问?  C#怎么创建控制台应用 C# Console App项目创建方法  如何在VPS电脑上快速搭建网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。