0
点赞
收藏
分享

微信扫一扫

JS实现回到顶部按钮

言午栩 2022-04-14 阅读 111
javascript

CSS部分忽略。

// 1. 当我们的页面高度隐藏了800px的时候,让回到顶部按钮显示出来; 

 // 2. 当我们点击回到顶部按钮的时候,页面的隐藏高度设置为0; 

知识点:

用:document.documentElement.scrollTop;    获取当前页面的滚动条纵坐标位置,

而不是:document.body.scrollTop;    

documentElement 对应的是 html 标签,而 body 对应的是 body 标签。    

在标准w3c下,document.body.scrollTop恒为0,需要用document.documentElement.scrollTop来代替    

 ie5.5之后已经不支持document.body.scrollX对象了。

 var scrollTop = document.body.scrollTop || document.documentElement.scrollTop 

window.onscroll = btnToggle; 当页面滚动时,则触发事件。

<script>
// 需求1实现 : 
        // - 1. 当页面卷动的时候我们去判断页面隐藏高度;  绑定 scroll 事件; 
        // - 2. 判定页面卷动高度; 获取 scrollTop
    function btnToggle(){
        // ie5.5之后已经不支持document.body.scrollX对象了
        //页面被卷动的高度||获取滚动条位置坐标
        var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
        //判断scrollTop 是否符合我们的参数规则; 
        if(scrollTop >= 800){
            goback.style.display = "block";
        }else{
            goback.style.display = "none";
        }
    }
    //页面被滚动时触发
    window.onscroll = btnToggle;

        // 需求2实现 : 
        // 元素点击时触发事件,我们给scrollTop 赋值0 , 实现回到顶部功能; 

    function handlerGoback(){
             // document.body.scrollTop = 0;
            // document.documentElement.scrollTop = 0; 
            // 扩展 : 操作滚动条的API还有 scrollTo();
            // window.scrollTo(0,0);
    window.scrollTo(
        {
            top: 0,
            behavior:"smooth"
        }        
)
}
goback.onclick = handlerGoback;

</script>
举报

相关推荐

0 条评论