美文网首页
js点击按钮滚动到顶部

js点击按钮滚动到顶部

作者: SmallTwo | 来源:发表于2017-04-18 14:17 被阅读56次
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>回到顶部scrollTop</title>
    <style type="text/css">
        #button{width: 50px;height: 50px;border-radius: 50%;background: #000;opacity: 0.4;position: fixed;bottom: 30px;right: 30px;display: none;}
        .content{background:-webkit-gradient(linear, 0 0, 0 100%, from(green), to(yellow));height: 2000px;width: 100%;}
    </style>

</head>
<body>
<div id="button"></div>
<div class="content"></div>
<script>
    // 回到顶部scrollTop
    // 总时间(duration):500ms
    //频率(interval):多长时间走一步 10ms
    //总距离(target):当前的位置(当前的scrollTop值)目标位置0;
    // 步长(step):每一次走的距离  target/duration * interval 每一次走的距离

    var button = document.getElementById("button");
    window.onscroll = computedDisplay;
    function computedDisplay(){
        var curTop = document.documentElement.scrollTop || document.body.scrollTop;
        var curHeight = document.documentElement.clientHeight || document.body.clientHeight;
        button.style.display = curTop>curHeight?"block":"none";
    }
    button.onclick = function(){
        this.style.display = "none";
        window.onscroll = null;
        var duration = 500,interval = 10,target = document.documentElement.scrollTop || document.body.scrollTop;
        var step = (target/duration) * interval;

        var timer = window.setInterval(function(){
            var curTop = document.documentElement.scrollTop || document.body.scrollTop;
            if(curTop ===0){
                window.clearInterval(timer);
                window.onscroll = computedDisplay;//动画结束后方法重新绑定
                return;
            }
            curTop -=step;
            document.documentElement.scrollTop = curTop;
            document.body.scrollTop = curTop;
        },interval);

    }

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

相关文章

  • jQuery点击锚点平滑滚动

    点击锚点平滑滚动到相应页面位置: .. "返回顶部"按钮效果:向下滚动页面出现 按钮,点击返回顶部。 …………EN...

  • JS BOM教程

    js制作侧边栏(跟随滚动) 回到顶部按钮

  • Android停止(结束)惯性滚动

    场景:当页面滚动超过一定距离后,显示回到顶部的按钮,点击按钮平滑滚动回顶部。 实现:监听页面滚动距离,与一特定值比...

  • js点击按钮滚动到顶部

  • vue下返回顶部功能实现

    vue下返回顶部功能实现 Vue中点击按钮回到顶部(滚动效果) vue中回到顶部 vue滚动到一定位置显示置顶元素...

  • js 返回页面顶部(动画)

    js 返回到页面顶部,含有渐变或者动画效果 点击返回顶部按钮,页面逐渐向上回到顶部: js 返回到页面顶部,直接返...

  • jquery滑到底部、返回顶部

    当页面有滚动条时,显示滑到底部,点击对应按钮到底部 到底部时,点击返回顶部 滚动到顶部和底部之间时,显示滑到底部、...

  • 点击按钮返回页面顶部

    原理:点击按钮返回顶部效果(js):用了一个定时器,每30ms滚动条的位置上移一点,上移的距离越来越小,越靠近顶部...

  • recyclerView一键回到顶部

    1.滚动监听:设置回到顶部按钮的显示隐藏 2.设置一键回到顶部按钮的点击事件 3.item的布局文件:recycl...

  • vue3 页面回到顶部(滚动效果)

    要求:1.回到顶部按钮 动态出现 当往下滚动时出现 回到顶部时自动消失2.动画过渡 不要太生硬3.点击回到顶部...

网友评论

      本文标题:js点击按钮滚动到顶部

      本文链接:https://www.haomeiwen.com/subject/pvwfzttx.html