直播軟體搭建,利用原生JS實現回到頂部以及吸頂效果

zhibo系統開發發表於2023-10-18

直播軟體搭建,利用原生JS實現回到頂部以及吸頂效果

 <style>
        .box1{
            width: 1200px;
            height: 800px;
            background-color: pink;
            margin: 0 auto;
        }
        .box2{
            width: 1200px;
            height: 800px;
            background-color:palegreen;
            margin: 0 auto;
        }
        /* 設定了box1 box2的高度都為800px 是為了頁面出現捲軸 */
        .gotop {
            position: fixed;
            bottom: 50px;
            right: 5px;
            width: 70px;
            height: 50px;
            text-align: center;
            line-height: 50px;
            color: #fff;
            background-color: aquamarine;
        }
        /* gotop去頂部 固定定位 定在底部  */
 
        .nav {
            width: 1200px;
            height: 30px;
            background-color: yellow;
            position: fixed;
            top: 0;
            left: 50%;
            transform: translate(-50%);
            display: none;
        }
        /* nav頭部的導航欄 固定定位 同時讓它隱藏 */
    </style>
</head>
<body>
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="gotop">回到頂部</div>
    <div class="nav"></div>
</body>
<script>
    //實現回到頂部效果
    var oGo = document.querySelector(".gotop");//獲取去頂部的元素
    var timer = null;//把定時器置為空
    oGo.onclick = function () {//點選事件 
        clearInterval(timer);//清除定時器
        timer = setInterval(function () {
            document.documentElement.scrollTop -= 10;//捲軸每次距離頂部的距離減10
            var oSt = document.documentElement.scrollTop;//獲取捲軸距離頂部的距離
            console.log(oSt);
            if (oSt === 0) {
                clearInterval(timer);//如果距離頂部距離為0 清除定時器
            }
        }, 20);
    }
    //實現吸頂效果
    window.onscroll = function () {//滾動監聽事件
        var oNav = document.querySelector(".nav");//獲取導航nav裡元素
        var oSt = document.documentElement.scrollTop;//獲取捲軸距離頂部的距離
        if (oSt >= 100) {
            oNav.style.display = "block";//如果捲軸距離頂部的距離大於100 顯示導航nav
        } else {
            oNav.style.display = "none";//否則不顯示
        }
    }
</script>


思路:

1.回到頂部

1.需要出現捲軸(設定了box1 box2的高度都為800px ,也可以只設定一個盒子,高度設定大一點,出現捲軸即可)。


2.回到頂部的固定定位設定(利用固定定位 定在底部)。


3.設定點選事件onclick(點選回到頂部觸發事件)。


 4.設定定時器可以改變捲軸距離頂部的距離(還需要進行判斷,如果距離頂部距離為0時,要清除定時器,不然會一直呼叫,佔用記憶體)。


2.吸頂效果

1.利用滾動監聽事件 window.onscroll。


2.設定一個nav導航的盒子,固定定位 ,同時讓它隱藏。


 3.獲取捲軸距離頂部的距離,然後進行判斷。如果捲軸距離頂部的距離大於100 顯示導航nav,否則都是隱藏不顯示(這裡的高度可以自己設定)。

 以上就是直播軟體搭建,利用原生JS實現回到頂部以及吸頂效果, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2989595/,如需轉載,請註明出處,否則將追究法律責任。

相關文章