• JS_回到顶部按钮的实现


    很多页面都有一个回到顶部的按钮,一旦点击页面的scrollbar就会变为0

    只需要document.body.scrollTop = document.documentElement.scrollTop = 0,在这个基础上在加一个缓动公式。

    下面贴上我的代码

    html:

    1 <div class="content">
    2         我是顶部<br><br>
    3         我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>我不是顶部<br>
    4     </div>
    5     <input type="button" id="toTop" class="toTop" value="返回顶部↑">
    html代码

    css:

     1 .content{
     2     height: 3000px;
     3     font-size: 17px;
     4 }
     5 .toTop{
     6     width:160px;
     7     height: 30px;
     8     position: fixed;
     9     right: 20px;
    10     bottom: 20px;
    11     font-size: 20px;
    12     font-family: "微软雅黑";
    13     font-weight: bold;
    14     letter-spacing: 5px;
    15     display: none;
    16 }
    css代码

    js代码

     1 window.addEventListener("load",function(){
     2 
     3     var toTop = document.getElementById("toTop");
     4     var posY = 0;
     5 
     6     window.addEventListener("scroll",function(){
     7         posY = window.pageYOffset || document.documentElement.scrollTop;
     8 
     9         if(posY == 0){
    10             toTop.style.display = "none";
    11         }else{
    12             toTop.style.display = "block"
    13         }
    14     })
    15 
    16     toTop.addEventListener("click",function(){
    17             var des = 0;
    18             var start = posY;
    19 
    20             moveSlowly(start,des);
    21     })
    22 
    23 })
    24 
    25 var timer = null;
    26 function moveSlowly(start,des,time){
    27     clearInterval(timer);
    28     var speedTime = time || 100;
    29     var distance = des - start;
    30     var speed = distance/speedTime;
    31     var pos = start;
    32     var i = 1;
    33 
    34     timer = setInterval(function(){
    35 
    36         if(i == speedTime){
    37             document.documentElement.scrollTop = document.body.scrollTop = des;
    38             clearInterval(timer);
    39         }else{
    40             pos = pos + speed;
    41             document.documentElement.scrollTop = document.body.scrollTop = pos;
    42             i++;
    43         }
    44 
    45     },1)
    46 }

    效果展示:(移动滚动条后,右下角有个回到顶部的按钮)


     


    以上内容,如有错误请指出,不甚感激。

  • 相关阅读:
    移动端input中的placeholder属性垂直
    js将文字转化为语音并播放
    js生成二维码
    jquery移除事件,绑定事件,触发事件
    js计算本地时间
    正则判断支付金额
    去除input默认带的上下按钮与修改placeholder的默认颜色、背景、placeholder内容的大小
    rem自适应手机端布局
    Python_PyQt5_库
    Python_用PyQt5 建 notepad 界面
  • 原文地址:https://www.cnblogs.com/adelina-blog/p/5890137.html
Copyright © 2020-2023  润新知