最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

原生Js 實現(xiàn)的簡單無縫滾動輪播圖的示例代碼

 更新時間:2021年05月10日 17:19:27   作者:小白可別不舉鐵  
這篇文章主要介紹了原生Js 實現(xiàn)的簡單無縫滾動輪播圖的示例代碼,幫助大家更好的理解喝學習使用js,感興趣的朋友可以了解下

   簡單無縫滾動輪播圖存在很多漏洞,就是后期增加圖片時會很不方便,需要改動的地方也很多,耦合性也很強,只適用于一部分程序,所以我們可以通過改動圖片結(jié)構(gòu)和計算折算點的方式,升級代碼。

      原簡單的滾動輪播代碼

<html>
<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;
        }
        .scroll{
            position: relative;
            width: 830px;/*展示寬度 展示4個圖+3個邊框=830*/
            height: 130px;
            border: 10px solid rgb(15, 15, 15);
            margin: 100px auto;
            overflow: hidden;
        }
        .scroll ul{
            position: absolute;
            width: 5000px;/*ul能存下所有l(wèi)i的寬*/
            height: 130px;
            top: 0;
            left: 0;
        }
        .scroll ul li{
            float: left;
            width: 200px;
            height: 130px;
            margin-right: 10px;
            overflow: hidden;
        }

    </style>
</head>
<body>
    <div id="scroll" class="scroll">
        <ul id="munit">
            <li><img src="../BOM/shuzi/3.png" alt=""></li>
            <li><img src="../BOM/shuzi/4.png" alt=""></li>
            <li><img src="../BOM/shuzi/5.png" alt=""></li>
            <li><img src="../BOM/shuzi/6.png" alt=""></li>
            <li><img src="../BOM/shuzi/7.png" alt=""></li>
            <li><img src="../BOM/shuzi/8.png" alt=""></li>
            <li><img src="../BOM/shuzi/9.png" alt=""></li>

            <li><img src="../BOM/shuzi/3.png" alt=""></li>
            <li><img src="../BOM/shuzi/4.png" alt=""></li>
            <li><img src="../BOM/shuzi/5.png" alt=""></li>
            <li><img src="../BOM/shuzi/6.png" alt=""></li>
            <li><img src="../BOM/shuzi/7.png" alt=""></li>
            <li><img src="../BOM/shuzi/8.png" alt=""></li>
            <li><img src="../BOM/shuzi/9.png" alt=""></li>
        </ul>
    </div>

    <script>
        //獲取元素
        var scroll = document.getElementById("scroll");
        var munit = document.getElementById("munit");
        var li = munit.children;
        // 進行滾動
        var nowLeft = 0;
        //要找到ul元素運動的折返點
        var back = -1470;//圖和邊框是li的寬度,展示的有4張圖,所以折返點就是1260
        //定時器
        var timer = setInterval(run,20);

        // 鼠標移上scroll停止
        scroll.onmouseover = function(){
            clearInterval(timer);
        }
        // 移開輪播
        scroll.onmouseout = function(){
            timer = setInterval(run,20);
        }

        //運動函數(shù)
        function run(){
            nowLeft -= 2;
            //判斷是否走到了折返點,走到了,則瞬間切換到0位置
            if(nowLeft <= back){
                nowLeft = 0;
            }
            munit.style.left = nowLeft + "px";
        }

       
    </script>
</body>
</html>

   在<div id="scroll">結(jié)構(gòu)給ul新增的一個父級div,這樣之后添加圖片,后期通過獲取ul寬度就可以了計算折算點
   1、折返點計算需要通過Js自動計算
   var back = -munit.offsetWidth;//元素左移,值為負數(shù)
   2、自動生成另一組對應的圖片結(jié)構(gòu) li
   munit.innerHTML = munit.innerHTML + munit.innerHTML;//這樣就會增加一組li標簽,后期增加圖片也會隨之增加
修改部分代碼,

css改寫部分:
  /*給ul新增的一個父級div,這樣添加圖片后期獲取ul寬度 就可以了 */
        .scroll .inner{
            position: relative;
            width: 5000px;
        }
        .scroll ul{
            position: absolute;
            height: 130px;
            top: 0;
            left: 0;
            list-style: none;


body改寫部分:      
<body>
    <div id="scroll" class="scroll">
       <div class="inner">
           <ul id="munit">
              <li><img src="../BOM/shuzi/3.png" alt=""></li>
              <li><img src="../BOM/shuzi/4.png" alt=""></li>
              <li><img src="../BOM/shuzi/5.png" alt=""></li>
              <li><img src="../BOM/shuzi/6.png" alt=""></li>
              <li><img src="../BOM/shuzi/7.png" alt=""></li>
              <li><img src="../BOM/shuzi/8.png" alt=""></li>
              <li><img src="../BOM/shuzi/9.png" alt=""></li>
              <li><img src="../BOM/shuzi/10.png" alt=""></li>
          </ul>
       </div>
    </div>

JS改寫部分:
<script>
        //獲取元素
        var scroll = document.getElementById("scroll");
        var munit = document.getElementById("munit");

        //改寫部分
        //1 折返點計算需要通過Js自動計算
        var back = -munit.offsetWidth;//元素左移,值為負數(shù)
        //2 自動生成另一組對應的圖片結(jié)構(gòu) li
        munit.innerHTML = munit.innerHTML + munit.innerHTML;
        // 進行滾動


        var nowLeft = 0;
        //定時器
        var timer = setInterval(run,20);

        // 鼠標移上scroll停止
        scroll.onmouseover = function(){
            clearInterval(timer);
        }
        // 移開輪播
        scroll.onmouseout = function(){
            timer = setInterval(run,20);
        }

        //運動函數(shù)
        function run(){
            nowLeft -= 1;
            //判斷是否走到了折返點,走到了,則瞬間切換到0位置
            if(nowLeft <= back){
                nowLeft = 0;
            }
            munit.style.left = nowLeft + "px";
        }

    </script>
</body>
</html>

這樣的代碼耦合性低,也適合任意個數(shù)的li、任意大小的圖片的加入

以上就是原生Js 實現(xiàn)的簡單無縫滾動輪播圖的示例代碼的詳細內(nèi)容,更多關(guān)于Js 實現(xiàn)的簡單無縫滾動輪播圖的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • javascript中時區(qū)知識的整理UTC GMT問題

    javascript中時區(qū)知識的整理UTC GMT問題

    這篇文章主要介紹了javascript中時區(qū)知識的整理UTC GMT問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • three.js?Mool3D模型類的使用

    three.js?Mool3D模型類的使用

    這篇文章主要為大家介紹了three.js?Mool3D模型類的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • JS中offset和勻速動畫詳解

    JS中offset和勻速動畫詳解

    這篇文章主要介紹了JavaScript動畫:offset和勻速動畫詳解(含輪播圖的實現(xiàn)),并把實現(xiàn)代碼做了分享,有興趣的朋友參考下。
    2018-02-02
  • js移動端事件基礎(chǔ)及常用事件庫詳解

    js移動端事件基礎(chǔ)及常用事件庫詳解

    這篇文章主要為大家詳細介紹了js移動端事件基礎(chǔ)及常用事件庫,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • JS數(shù)組去重的九種高階方法(親測有效)

    JS數(shù)組去重的九種高階方法(親測有效)

    這篇文章主要給大家介紹了關(guān)于JS數(shù)組去重的九種高階方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • JS+Ajax實現(xiàn)百度智能搜索框

    JS+Ajax實現(xiàn)百度智能搜索框

    現(xiàn)在遇到這樣的需求,要求輸入一個a之后會出現(xiàn)包含a的下拉列表,當我們點擊某一個的時候,搜索框中就會出現(xiàn)點擊的值。下面小編給大家分享同js和ajax實現(xiàn)百度智能搜索框,需要的的朋友參考下實現(xiàn)代碼
    2017-08-08
  • JavaScript中解決多瀏覽器兼容性23個問題的快速解決方法

    JavaScript中解決多瀏覽器兼容性23個問題的快速解決方法

    下面小編就為大家?guī)硪黄狫avaScript中解決多瀏覽器兼容性23個問題的快速解決方法。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • 關(guān)于在Servelet中如何獲取當前時間的操作方法

    關(guān)于在Servelet中如何獲取當前時間的操作方法

    下面小編就為大家?guī)硪黄P(guān)于在Servelet中如何獲取當前時間的操作方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 解析JavaScript模仿塊級作用域

    解析JavaScript模仿塊級作用域

    本文主要介紹了JavaScript模仿塊級作用域的方法,具有一定的參考價值。下面跟著小編一起來看下吧
    2016-12-12
  • JS中的async與await異步編程及await使用陷阱

    JS中的async與await異步編程及await使用陷阱

    這篇文章主要介紹了async與await異步編程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03

最新評論

乐亭县| 广饶县| 玉龙| 布尔津县| 汕头市| 盐池县| 新巴尔虎右旗| 来凤县| 且末县| 南投县| 将乐县| 乌兰县| 老河口市| 沂水县| 逊克县| 娱乐| 略阳县| 罗田县| 福海县| 红原县| 拉萨市| 巨野县| 府谷县| 洛南县| 四平市| 东阿县| 岳普湖县| 赣榆县| 玛多县| 裕民县| 曲靖市| 青龙| 香格里拉县| 孝义市| 万载县| 中方县| 修武县| 金华市| 盐城市| 靖江市| 庆城县|