最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js學習總結(jié)_輪播圖之漸隱漸現(xiàn)版(實例講解)

 更新時間:2017年07月17日 07:54:54   投稿:jingxian  
下面小編就為大家?guī)硪黄猨s學習總結(jié)_輪播圖之漸隱漸現(xiàn)版(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

具體代碼如下:

<!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
    }
    img{
      display: block;
      border:none;
    }
    .banner{
      position:relative;
      width:1000px;
      height:300px;
      margin:0 auto;
      overflow:hidden;
    }
    .banner .bannerInner{
      width:100%;
      height:100%;
      background:url("../img/default.gif") no-repeat center center #e1e1e1;
    }
    .banner .bannerInner div{
      position:absolute;
      width:100%;
      height:100%;
      top:0;
      left:0;
      z-index:0;
      opacity:0;
      filter:alpha(opacity=0);
    }
    .banner .bannerInner img{
      display:none;
      width:100%;
      height:100%s;
    }

    .banner .bannerTip{
      position:absolute;
      height:18px;
      overflow:hidden;
      right:20px;
      bottom:20px;
      z-index:10;
    }
    .banner .bannerTip li{
      float:left;
      margin-left:10px;
      width:18px;
      height:18px;
      background:lightblue;
      cursor:pointer;
      border-radius:50%;
    }
    .banner .bannerTip li.bg{
      background:red;
    }

    .banner a{
      display:none;
      position:absolute;
      top:50%;
      z-index:20;
      margin-top:-22.5px;
      width:30px;
      height:45px;
      background:url("../img/pre.png");
      opacity:0.5;
      filter:alpha(opacity=50);
    }
    .banner a:hover{
      opacity:1;
      filter:alpha(opacity=100);
    }
    .banner a.bannerLeft{
      left:20px;
      background-position:0 0;
    }
    .banner a.bannerRight{
      right:20px;
      background-position:-50px 0;
    }
  </style>
</head>
<body>
  <div class='banner' id='banner'>
    <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>
    var banner = document.getElementById('banner');
    var bannerInner = utils.firstChild(banner),bannerTip = utils.children(banner,"ul")[0],bannerLink = utils.children(banner,'a'),bannerLeft = bannerLink[0],bannerRight = bannerLink[1];
    var divList = bannerInner.getElementsByTagName('div');
    var imgList = bannerInner.getElementsByTagName('img');
    var oLis = bannerTip.getElementsByTagName('li');
    //1、Ajax讀取數(shù)據(jù)
    var jsonData = null;
    ~function(){
      var xhr = new XMLHttpRequest;
      xhr.open("get","json/banner.txt?_="+Math.random(),false);
      xhr.onreadystatechange = function(){
        if(xhr.readyState ===4 && /^2\d{2}$/.test(xhr.status)){
          jsonData = utils.formatJSON(xhr.responseText)
        }
      }
      xhr.send(null)
    }()
    //2、數(shù)據(jù)綁定
    ~function(){
      var str = "",str2 = "";
      if(jsonData){
        for(var i = 0,len=jsonData.length;i<len;i++){
          var curData = jsonData[i];
          str+='<div><img src="" alt="" trueImg="'+curData['img']+'"></div>';
          i===0?str2+="<li class='bg'></li>":str2+="<li></li>"
        }
      }
      bannerInner.innerHTMl = str;
      bannerTip.innerHTML = str2;
    }()

    //3、圖片的延遲加載
    window.setTimeout(lazyImg,500)
    function lazyImg(){
      for(var i = 0,len = imgList.length;i<len;i++){
        ~function(i){
          var curImg = imgList[i];
          var oImg = new Image;
          oImg.src = curImg.getAttribute('trueImg');
          oImg.onload = function(){
            curImg.src = this.src;
            curImg.style.display = block;
            //只對第一張?zhí)幚?
            if(i===0){
              var curDiv = curImg.parentNode;
              curDiv.style.zIndex = 1;
              myAnimate(curDiv,{opacity:1},200);
            }
            oImg = null;
          }
        }(i)
      }
    }
    //4、自動輪播
    var interval = 3000,autoTimer = null,step = 0;
    autoTimer = window.setInterval(autoMove,interval);
    function autoMove(){
      //當已經(jīng)把最后一張展示完成后(step等于最后一張的索引),我們應該展示第一張,我們讓step = -1,這樣再經(jīng)過一次累加,step就變?yōu)?,來展示第一張
      if(step === jsonData.length-1){
        step = -1
      }
      step++;
      setBanner();
    }
    //實現(xiàn)輪播圖切換效果的代碼
    function setBanner(){
      //1、讓step索引對應的那個DIV的zIndex的值為1,其他的zIndex為0 
      for(var i = 0,len = divList.length;i<len;i++){
        var curDiv = divList[i];
        if(i===step){
          utils.css(curDiv,"zIndex",1)
          //2、讓當前的透明度從0變?yōu)?,當動畫結(jié)束,我們需要讓其他的div的透明度的值直接變?yōu)?
          myAnimate(curDiv,{opacity:1},200,function(){
            var curDivSib = utils.siblings(this);
            for(var k = 0,len = curDivSib.length;k<len;k++){
              utils.css(curDivSib[k],'opacity',0)
            }

          })
          continue
        }
        utils.css(curDiv,"zIndex",0)
      }
      //實現(xiàn)焦點對其
      for(i = 0,len = oLis.length;i<len;i++){
        var curLi = oLis[i];
        i === step?utils.addClass(curLi,"bg"):utils.removeClass(curLi,"bg");
      }

    }
    //5、實現(xiàn)鼠標懸停停止自動輪播和離開在開啟自動輪播
    banner.onmouseover = function(){
      window.clearInterval(autoTimer);
      bannerLeft.style.display = bannerRight.style.display = "block"

    }
    banner.onmouseout = function(){
      autoTimer = window.setInterval(autoMove,interval);
      bannerLeft.style.display = bannerRight.style.display = "none"
    }
    //6、實現(xiàn)點擊焦點切換
    ~function(){
      for(var i = 0,len = oLis.length;i<len;i++){
        var curLi = oLis[i];
        curLi.index = i;
        curLi.onclick = function(){
          step = this.index;
          setBanner();
        }
      }
    }()
    //7、實現(xiàn)左右切換
    bannerRight.onclick = autoMove;
    bannerLeft.onclick = function(){
      if(step === 0){
        step = jsonData.length;
      }
      step--;
      setBanner();
    }
  </script>
</body>
</html>

以上這篇js學習總結(jié)_輪播圖之漸隱漸現(xiàn)版(實例講解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 屏蔽網(wǎng)頁右鍵復制和ctrl+c復制的js代碼

    屏蔽網(wǎng)頁右鍵復制和ctrl+c復制的js代碼

    解決的方法就是直接把網(wǎng)頁保存下來然后刪掉下面這段js代碼,然后就可以正常用右鍵菜單,也可以通過設置瀏覽器的安全級別到最高級別來解決問題
    2013-01-01
  • javascript canvas檢測小球碰撞

    javascript canvas檢測小球碰撞

    這篇文章主要為大家詳細介紹了javascript canvas檢測小球碰撞,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • JS如何判斷對象是否包含某個屬性

    JS如何判斷對象是否包含某個屬性

    這篇文章主要介紹了JS如何判斷對象是否包含某個屬性,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • javascript屬性訪問表達式用法分析

    javascript屬性訪問表達式用法分析

    這篇文章主要介紹了javascript屬性訪問表達式用法,實例分析了javascript屬性訪問表達式的功能與使用方法,需要的朋友可以參考下
    2015-04-04
  • Js+XML 操作

    Js+XML 操作

    Js+XML 操作...
    2006-09-09
  • JS去除iframe滾動條的方法

    JS去除iframe滾動條的方法

    這篇文章主要介紹了JS去除iframe滾動條的方法,涉及javascript操作iframe中屬性的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • JS實現(xiàn)頁面導航與內(nèi)容相互錨定實例詳解

    JS實現(xiàn)頁面導航與內(nèi)容相互錨定實例詳解

    這篇文章主要為大家介紹了JS實現(xiàn)頁面導航與內(nèi)容相互錨定實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • js網(wǎng)頁實時倒計時精確到秒級

    js網(wǎng)頁實時倒計時精確到秒級

    網(wǎng)頁實時倒計時,精確到秒級,和天數(shù)倒計時原理一樣,需要的朋友可以參考下
    2014-02-02
  • JS/jQ實現(xiàn)免費獲取手機驗證碼倒計時效果

    JS/jQ實現(xiàn)免費獲取手機驗證碼倒計時效果

    這篇文章主要介紹了JS/jQ實現(xiàn)免費獲取手機驗證碼倒計時效果的相關資料,通過定義兩個接口,發(fā)送驗證請求和返回數(shù)據(jù)驗證手機號和驗證是否一致,后臺根據(jù)接口去實現(xiàn),需要的朋友可以參考下
    2016-06-06
  • js中字符串編碼函數(shù)escape()、encodeURI()、encodeURIComponent()區(qū)別詳解

    js中字符串編碼函數(shù)escape()、encodeURI()、encodeURIComponent()區(qū)別詳解

    JavaScript中有三個可以對字符串編碼的函數(shù),分別是: escape,encodeURI,encodeURIComponent,相應3個解碼函數(shù):unescape,decodeURI,decodeURIComponent 。接下來通過本文給大家介紹三者之家的區(qū)別,感興趣的朋友一起學習吧
    2016-04-04

最新評論

化隆| 芜湖市| 廊坊市| 景洪市| 泽州县| 龙海市| 灵台县| 金昌市| 毕节市| 玛沁县| 新田县| 屏山县| 珲春市| 岱山县| 海南省| 佛学| 轮台县| 林口县| 伽师县| 金门县| 河南省| 札达县| 正镶白旗| 海盐县| 开平市| 桑日县| 河池市| 天祝| 柏乡县| 阿拉善盟| 张家港市| 龙游县| 泽库县| 台中县| 永寿县| 孝昌县| 瑞昌市| 房山区| 张掖市| 红河县| 五寨县|