2021-11-25

js 一頁顯示多張圖無縫輪播

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        li {
            list-style: none;
            float: left;
        }

        #box {
            width: 480px;
            height: 80px;
            border: 1px solid #000;
            overflow: hidden;
            position: relative;
            margin: 100px auto;
        }

        #prev,
        #next {
            display: block;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: #666;
            color: #fff;
            font-size: 25px;
            text-align: center;
            line-height: 12px;
            position: absolute;
            top: 50%;
            margin-top: -6px;
            cursor: pointer;
        }

        #prev {
            left: 12px;
        }

        #next {
            right: 12px;
        }

        #banner-box {
            height: 100%;
            position: absolute;
            left: 0;
        }

        #banner-box li {
            height: 100%;
            width: 120px;
            background: #ddd;
            line-height: 80px;
            text-align: center;
        }
    </style>
</head>
<body>
    <div id="box">
        <ul id="banner-box">
          <!-- 6張 -->
          <li>banner06</li>
          <li>banner01</li>
          <li>banner02</li>
          <li>banner03</li>
          <li>banner04</li>
          <li>banner05</li>
          <li>banner06</li>
          <li>banner01</li>
          <li>banner02</li>
          <li>banner03</li>
          <!-- 5張 -->
          <!-- <li>banner05</li>
          <li>banner01</li>
          <li>banner02</li>
          <li>banner03</li>
          <li>banner04</li>
          <li>banner05</li>
          <li>banner01</li>
          <li>banner02</li>
          <li>banner03</li> -->
          <!-- 4張 -->
          <!-- <li>banner04</li>
          <li>banner01</li>
          <li>banner02</li>
          <li>banner03</li>
          <li>banner04</li>
          <li>banner01</li>
          <li>banner02</li>
          <li>banner03</li> -->
        </ul>
        <span id="prev"></span>
        <span id="next"></span>
      </div>
</body>
</html>
<script>
  window.onload = function() {
    // 初始化輪播
    let oBox = document.getElementById('box');
    let oUl = document.getElementById('banner-box');
    let oLi = oUl.children;
    let prev = document.getElementById('prev');
    let next = document.getElementById('next');
    let timer = null;
    let index = 1;
    oUl.style.width = oLi[0].offsetWidth * oLi.length +'px';
    oUl.style.left = '-120px';
    //向前滾動
    prev.onclick = function () {
      index--;
      move();
    }
    //向后滾動
    next.onclick = function () {
      index++;
      move();
    }
    //自動輪播
    function autoPlay () {
      timer = setInterval (() => {
        index++;
        move();
      }, 2000) 
    }
    autoPlay();
    oBox.onmouseover = function(){
        clearInterval(timer);
    }
    oBox.onmouseout = autoPlay;
    //運動函數(shù)
    function move () {
      if (index === (oLi.length - 3)) {
        oUl.style.left = 0;
        index = 1;
      } else if (index === -1) {
        oUl.style.left = -(oLi.length - 4) * oLi[0].offsetWidth + 'px';
        index = oLi.length - 5;
      }
      animate(oUl, -index * oLi[0].offsetWidth);
    }
    function animate (obj, target){
      clearInterval(obj.timer);
      obj.timer = setInterval(function(){
          let speed = (target - parseInt(obj.style.left)) / 8;
          speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
          if (parseInt(obj.style.left) == target) {
            clearInterval(obj.timer);
          } else {
            obj.style.left = parseInt(obj.style.left) + speed + 'px';
          }
      },30);
    }
  }
</script>```
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末烈掠,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子芍锦,更是在濱河造成了極大的恐慌监婶,老刑警劉巖者铜,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡钝尸,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門搂根,熙熙樓的掌柜王于貴愁眉苦臉地迎上來珍促,“玉大人,你說我怎么就攤上這事剩愧≈硇穑” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵仁卷,是天一觀的道長穴翩。 經(jīng)常有香客問我,道長锦积,這世上最難降的妖魔是什么芒帕? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮充包,結(jié)果婚禮上副签,老公的妹妹穿的比我還像新娘遥椿。我一直安慰自己,他們只是感情好淆储,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布冠场。 她就那樣靜靜地躺著,像睡著了一般本砰。 火紅的嫁衣襯著肌膚如雪碴裙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天点额,我揣著相機與錄音舔株,去河邊找鬼。 笑死还棱,一個胖子當著我的面吹牛载慈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播珍手,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼办铡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了琳要?” 一聲冷哼從身側(cè)響起寡具,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎稚补,沒想到半個月后童叠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡课幕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年厦坛,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撰豺。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡粪般,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出污桦,到底是詐尸還是另有隱情亩歹,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布凡橱,位于F島的核電站小作,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏稼钩。R本人自食惡果不足惜顾稀,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望坝撑。 院中可真熱鬧静秆,春花似錦粮揉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至殊橙,卻和暖如春辐宾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留衙传,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓汞扎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 課前談話 師:小朋友們冒窍,前面的課文學得熟嗎?我會放一些詞組豺鼻,它來自二年級剛剛學過的哪些課文,還要想一想款慨,描繪的是哪...
    悠悠晃晃閱讀 199評論 0 2
  • 頁面結(jié)構(gòu)使用了ViewPager2套Fragment形式其中一個fragment中用了TextClock控件 此時...
    精巧的中級星光閱讀 253評論 0 0
  • 簡直太喜歡王爾德了儒飒,每一句都像人生經(jīng)典。今天學習了詩歌的題材寫作檩奠。要有大量的意向桩了,暗喻以及留白。 最佳的一句竟然是...
    多肉安安閱讀 158評論 0 1
  • NAT REV | 腫瘤內(nèi)給藥和腫瘤組織靶向的免疫療法 原創(chuàng)榴蓮不酥圖靈基因今天 收錄于話題#前沿分子生物學機制 ...
    圖靈基因閱讀 164評論 0 1
  • (二)卷內(nèi)文件排列:通常多按時間的先后次序及責任者埠戳、問題井誉、文件的重要程度排列。正確順序:問文在前整胃,復文在后颗圣;正文在...
    肖申克的救贖閱讀 300評論 0 0