溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

原生JS實現(xiàn)輪播圖效果的方法

發(fā)布時間:2021-04-20 10:30:02 來源:億速云 閱讀:202 作者:小新 欄目:web開發(fā)

這篇文章主要介紹原生JS實現(xiàn)輪播圖效果的方法,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

著是通過獲取圖片偏移量實現(xiàn)的,也實現(xiàn)了無縫切換,還有一點問題就是沒有加上圖片切換的時候的延遲了。

html:

<div id="container">
  <div id="list" >
   <img src="../image/1.jpg" alt="5">
   <img src="../image/1.jpg" alt="1">
   <img src="../image/2.jpg" alt="2">
   <img src="../image/3.jpg" alt="3">
   <img src="../image/4.jpg" alt="4">
   <img src="../image/5.jpg" alt="5">
   <img src="../image/1.jpg" alt="1">
  </div>
  <div id="buttons">
    <span class="on"></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
  </div>
  <a href="javascript:;" id="prev" class="arrow">&lt;</a>
  <a href="javascript:;" id="next" class="arrow">&gt;</a>
 </div>

js:

window.onload = function(){
 //獲取元素
 var container = document.getElementById('container');
 var list = this.document.getElementById('list');
 var buttons = document.getElementById('buttons').getElementsByTagName('span');
 var prev = document.getElementById('prev');
 var next = document.getElementById('next');
 var index = 1;//默認(rèn)第一個小圓點亮

 //小圓點的點亮
 function showButton() {
  //遍歷小圓點的個數(shù),當(dāng)觸發(fā)onclick事件后,className為‘on'的變?yōu)椤?#39;。
  for(var i = 0;i < buttons.length; i++){
   if(buttons[i].className == 'on'){
    buttons[i].className = '';
    break;
   }
  }
  buttons[index - 1].className = 'on'; //原始第一個小圓點點亮,onclick事件觸發(fā)后,index+1
 }

 function animate (offset) {
  //獲取從第一張圖片開始發(fā)生的偏移量
  var newLift = parseInt(list.style.left) + offset; 
  list.style.left = newLift + 'px';
  if(newLift > -600){ 
   //如果偏移量的位置大于-600的時候,圖片跳轉(zhuǎn)到第五張圖片
   list.style.left = -3000 + 'px';
  }
  if(newLift < -3000){ 
   //如果偏移量的位置大于-3000的時候,圖片跳轉(zhuǎn)到第一張圖片
   list.style.left = -600 + 'px';
  }
 }
 next.onclick = function () {
  //如果button的index為5的時候,再點擊next按鈕會返回 1;
  if(index == 5){
   index = 1;
  }else{
   index += 1;
  }
  showButton();
  animate(-600);
 }
 prev.onclick = function () {
  if(index == 1){
   index = 5;
  }else{
   index -= 1;
  }
  showButton();
  animate(600);
 }
}

以上是“原生JS實現(xiàn)輪播圖效果的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

js
AI