JS练习_返回顶部_节流实现

预览:

源码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>防抖与节流</title>
    <style>
        body{
            height: 2000px;
        }
        button{
            position:fixed;
            right: 100px;
            bottom: 100px;
            display: none;
        }
    </style>
</head>
<body>
<h1>window.onscroll事件</h1>
<button>回到顶部</button>
<script>
/*
返回顶部效果
1、window.onscoll事件:滚动条滚动事件
2、document.documentElement.scrollTop:页面滚动位置距离顶部距离
3、window.scrollTo(0,0):让页面滚动条返回至顶部
        // 利用闭包实现节流算法
        function throttle(fn) {
            let mark = true;//标记
            window.onscroll = function () {
                if (mark) {
                    setTimeout(() => {
                        console.log("hello world!")
                        mark = true;
                    }, 500)
                }
                mark = false;
            }
        }
        window.onscroll = throttle( () => {
                console.log("计数器");
                if (document.documentElement.scrollTop > 0){
                    btn.style.display = "block";
                }else {
                    btn.style.display = "none";
                }
            } );
</script>
</body>
</html>

``
posted @ 2021-09-23 18:24  博客zhu虎康  阅读(38)  评论(0编辑  收藏  举报