JS實現無縫滾動

滾動輪播圖原理:
以本文為例,想要實現視覺上的無縫隙滾動輪播,就需要在第四張圖后,再添加第一張和第二張圖,因為本文的案例是同時顯示兩張圖片,如果只顯示一張圖,那么就在最后一張圖后添加第一張圖就可以了。
接下來,我們一起來看代碼,其它解釋會在代碼注釋里有所體現。

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

        ul {
            list-style-type: none;
        }

        /* 去除圖片邊距 */
        img {
            vertical-align: top;
        }

        .box {
            width: 600px;
            height: 200px;
            margin: 100px auto;
            overflow: hidden;
            position: relative;
        }

        .box ul li {
            float: left;
        }
        /* 滾動的不是圖片本身,而是包裹著圖片的盒子 */
        .box ul {
            width: 400%;
            position: absolute;
            left: 0;
            top: 0;
        }
    </style>
</head>
<body>
<div class="box" id="scroll">
    <ul>
        <li>![](images/01.jpg)</li>
        <li>![](images/02.jpg)</li>
        <li>![](images/03.jpg)</li>
        <li>![](images/04.jpg)</li>
        <li>![](images/01.jpg)</li>
        <li>![](images/02.jpg)</li>
    </ul>
</div>
<script>
    var scroll = document.getElementById("scroll");
    var ul = scroll.children[0];
    var timer = null; // 定義定時器名字
    var count = 0; // 控制左偏移量
    timer = setInterval(autoPlay, 30); // 開啟定時器
    function autoPlay() {
        count--;
        count <= -1200 ? count = 0 : count; // 當count小于-1200時,讓count等于0,否則,繼續(xù)--
        ul.style.left = count + "px";
    }
    scroll.onmouseover = function () { // 鼠標懸浮停止定時器
        clearInterval(timer);
    }
    scroll.onmouseout = function () {
        timer = setInterval(autoPlay, 30); // 鼠標離開開啟定時器
    }
</script>
</body>
</html>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,171評論 25 708
  • 發(fā)現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 15,423評論 4 61
  • 這一夜,燭火畢剝,煙花落。沒人看見你眼底的落寞。 這一刻,燈光粲然,爆竹破,沒人聽見你心里多難過。 這一下,龍翼兩...
    李雪晚閱讀 313評論 0 3
  • 當翻開 萬年歷 才發(fā)現 原來 已經 立冬 怪不得 內心 如此 荒涼 原來是 到了 白色 季節(jié) 那農田 稻子 為何 ...
    于斯人閱讀 223評論 0 0
  • 嘗試
    金淋文閱讀 137評論 0 0

友情鏈接更多精彩內容