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

首頁 > 編程 > JavaScript > 正文

原生js實現焦點輪播圖效果

2019-11-19 17:59:36
字體:
來源:轉載
供稿:網友

原生js焦點輪播圖主要注意這幾點:

1、前后按鈕實現切換,同時注意輔助圖

2、中間的button隨著前后按鈕對應切換,同時按button也能跳轉到相應的index

3、間隔調用與無限輪播。

4、注意在動畫時要停止按鈕,或者說上一個動畫完畢下一個動畫才能執行

5、另外在切換圖片的時候,底部的Button動畫效果,是從底部開始往上升的,要用到transform:scale()和transform-origin:0 100%兩個轉換屬性,代碼如下

<!DOCTYPE html><html> <head> <meta charset="utf-8"/> <meta name="viewpoint" content="width=device-width,initial-scale=1,user-scalable="no"> <title>20170101</title> <style type="text/css"> a{text-decoration:none;color:#3DBBF5;} .wrapper{width:750px;height:350px;background:#001032;margin:20px auto;text-align:center;box-shadow:0 0 12px 2px hsla(0,20%,30%,0.5);padding:10px 15px;position:relative;} .effect{position:relative;cursor:pointer;} .effect:hover{color:#02a0e9;} .effect:before{width:100%;display:inline-block !important;position:absolute;height:1px;background:#02a0e9;transition:all 0.4s ease-in-out;-webkit-transition:all 0.4s ease-in-out;-moz-transition:all 0.4s ease-in-out;transform:scale(0,1);content:'';bottom:-5px;left:0;} .effect:hover:before{transform:scale(1);-webkit-transform:scale(1);} #lunBo{margin-top:20px;overflow:hidden;height:300px;width:750px;position:relative;} #list{position:absolute;z-index:22;height:300px;width:5250px;} #list img{float:left;} #buttons { position: absolute; height: 20px; width: 150px; z-index: 99; bottom: 20px; left: 40%;}    span { cursor: pointer; float: left; width: 10px; height: 5px; background: #333; margin-right: 10px;}     .on { background: yellow;transition:all 0.4s ease-in-out;-webkit-transition:all 0.4s ease-in-out;-moz-transition:all 0.4s ease-in-out;transform:scale(1,4);-ms-transform:scale(1,4);-moz-transform:scale(1,4);-webkit-transform:scale(1,4);transform-origin:0% 0%;-webkit-transform-origin:0% 100%;-moz-transform-origin:0% 100%;}  .arrow { cursor: pointer; display: none; line-height: 39px; text-align: center; font-size: 36px; font-weight: bold; width: 40px; height: 100px; line-height:100px;position: absolute; z-index: 92; top: 30%; background-color: RGBA(0,0,0,.3); color: #fff;}    .arrow:hover { background-color: RGBA(0,0,0,.7);}    #lunBo:hover .arrow { display: block;}    #prev { left: 0px;}    #next { right: 0px;} </style> </head> <body> <div class="wrapper">  <a class="effect" href="#">2016完了,2017來了</a>  <div id="lunBo">  <div id="list" style="left:-750px;">   <img src="http://cdn.attach.qdfuns.com/notes/pics/201701/03/175856saeagzgsnwal15n5.jpg" alt=""/>   <img src="http://cdn.attach.qdfuns.com/notes/pics/201701/02/235009drzwcaxem2wfgmdc.jpg" alt=""/>   <img src="http://cdn.attach.qdfuns.com/notes/pics/201701/03/175856m1bhxxx1d8jfnblb.jpg" alt=""/>   <img src="http://cdn.attach.qdfuns.com/notes/pics/201701/03/175856z48mfrrr8u064rf6.jpg" alt=""/>   <img src="http://cdn.attach.qdfuns.com/notes/pics/201701/03/175856e95yze236lvq7y2a.jpg" alt=""/>   <img src="http://cdn.attach.qdfuns.com/notes/pics/201701/03/175856saeagzgsnwal15n5.jpg" alt=""/>   <img src="http://cdn.attach.qdfuns.com/notes/pics/201701/02/235009drzwcaxem2wfgmdc.jpg" alt=""/>  </div>  <div id="buttons">   <span index="1" class="on"></span>   <span index="2"></span>   <span index="3"></span>   <span index="4"></span>   <span index="5"></span>  </div>  <a href="javascript:;" id="prev" class="arrow"><</a>  <a href="javascript:;" id="next" class="arrow">></a>  </div> </div> <script> window.onload = function(){  var lunBo = document.getElementById('lunBo');  var list = document.getElementById('list');  var buttons = document.getElementById('buttons').getElementsByTagName('span');  //console.log(buttons);  var prev = document.getElementById('prev');      var next = document.getElementById('next');  var index = 1;  var animated = false;  var interval = 3000;  var timer;  //顯示按鈕的索引  function showButton(){  for(var i = 0 ; i < buttons.length ; i++){   if( buttons[i].className == 'on' ){   buttons[i].className = '';   break;   };  };  buttons[index - 1].className='on';  };  function play(){  timer = setTimeout(function () {          next.onclick();          play();        }, interval);  };  function stop(){  clearTimeout(timer);  };  //向前按鈕  next.onclick = function () {        if (animated) {          return;        }        if (index == 5) {          index = 1;        }        else {          index += 1;        }        animate(-750);        showButton();      };      prev.onclick = function () {        if (animated) {          return;        }        if (index == 1) {          index = 5;        }        else {          index -= 1;        }        animate(750);        showButton();      };  //parseInt()轉換為純數值  function animate(offset){  animated = true;  var newLeft = parseInt(list.style.left) + offset; //目標值  var time = 300; //位移總時間為300  var interval = 10; //  var speed = offset/(Math.floor(time/interval)); //每次位移量  function go(){  if( (speed < 0 && parseInt(list.style.left) > newLeft) || ( speed > 0 && parseInt(list.style.left) < newLeft) ){   list.style.left = parseInt(list.style.left) + speed + 'px';    setTimeout(go,interval);  }else{   animated = false;   list.style.left = newLeft+ 'px';  //現在的位移   if( newLeft > -750){           //假的輔助圖   list.style.left = -3750 + 'px';   }   if( newLeft < -3750){   list.style.left = -750 + 'px';   }  }  };  go();    };  //小按鈕  for(var i=0;i < buttons.length;i++){  buttons[i].onclick = function(){  if(this.className == 'on'){   return;  };   var myIndex = parseInt(this.getAttribute('index'));   var offset = -750 * (myIndex - index);   animate(offset);          index = myIndex;          showButton();  }  }  lunBo.onmouseout = play;  lunBo.onmouseover = stop;  play(); } </script> </body></html>

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石景山区| 鲁山县| 共和县| 晋江市| 图木舒克市| 瑞丽市| 米易县| 建瓯市| 垣曲县| 郑州市| 轮台县| 尼玛县| 沙田区| 肇庆市| 淮阳县| 台中县| 泾川县| 略阳县| 昌宁县| 霍州市| 三都| 讷河市| 贡嘎县| 富锦市| 六枝特区| 芦溪县| 汉寿县| 石屏县| 灵武市| 本溪市| 濉溪县| 临颍县| 桐城市| 松桃| 韶山市| 敦化市| 探索| 杭州市| 无极县| 平南县| 息烽县|