国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

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

2019-11-19 16:04:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

具體代碼如下:

<!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;            //只對(duì)第一張?zhí)幚?           if(i===0){              var curDiv = curImg.parentNode;              curDiv.style.zIndex = 1;              myAnimate(curDiv,{opacity:1},200);            }            oImg = null;          }        }(i)      }    }    //4、自動(dòng)輪播    var interval = 3000,autoTimer = null,step = 0;    autoTimer = window.setInterval(autoMove,interval);    function autoMove(){      //當(dāng)已經(jīng)把最后一張展示完成后(step等于最后一張的索引),我們應(yīng)該展示第一張,我們讓step = -1,這樣再經(jīng)過(guò)一次累加,step就變?yōu)?,來(lái)展示第一張      if(step === jsonData.length-1){        step = -1      }      step++;      setBanner();    }    //實(shí)現(xiàn)輪播圖切換效果的代碼    function setBanner(){      //1、讓step索引對(duì)應(yīng)的那個(gè)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、讓當(dāng)前的透明度從0變?yōu)?,當(dāng)動(dòng)畫(huà)結(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)      }      //實(shí)現(xiàn)焦點(diǎn)對(duì)其      for(i = 0,len = oLis.length;i<len;i++){        var curLi = oLis[i];        i === step?utils.addClass(curLi,"bg"):utils.removeClass(curLi,"bg");      }    }    //5、實(shí)現(xiàn)鼠標(biāo)懸停停止自動(dòng)輪播和離開(kāi)在開(kāi)啟自動(dòng)輪播    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、實(shí)現(xiàn)點(diǎn)擊焦點(diǎ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、實(shí)現(xiàn)左右切換    bannerRight.onclick = autoMove;    bannerLeft.onclick = function(){      if(step === 0){        step = jsonData.length;      }      step--;      setBanner();    }  </script></body></html>

以上這篇js學(xué)習(xí)總結(jié)_輪播圖之漸隱漸現(xiàn)版(實(shí)例講解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 天镇县| 吉安县| 隆德县| 麻城市| 高安市| 枝江市| 长垣县| 天峻县| 高雄市| 丹江口市| 莱州市| 西和县| 疏勒县| 通江县| 伊金霍洛旗| 化隆| 山阴县| 江阴市| 兰州市| 贺兰县| 宁远县| 白山市| 抚松县| 陕西省| 南华县| 蒙自县| 会理县| 黔南| 揭东县| 安化县| 河源市| 神池县| 义乌市| 资阳市| 昭平县| 绍兴市| 南漳县| 罗江县| 南充市| 常山县| 潮安县|