jQuery实现“回到顶部”按钮功能

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery</title>
    <style>
      .back_top{
          position: fixed;
          background:gray;
          color: #ffffff;
          padding: 5px;
          bottom: 30px;
          right: 30px;
          width: 42px;
          text-align: center;
          cursor: pointer;
      }
    </style>
</head>
<body>
<div>
    <h1>回到顶部</h1>
        <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>

        <div class="back_top">回到顶部</div>



</div>

<script src="../js/vendor/jquery-3.2.1.min.js"></script>
<script>
    //不够平滑
    // $(".back_top").click(function(){
    //     $("body,html").scrollTop(0);
    // })
    //设置成平滑滚动
    $(".back_top").click(function(){
        //滚动时 滚动条离上部的距离
        var distance = $("html").scrollTop() + $("body").scrollTop();
        //设置滚动的总时间
        var time=1000;
        //间隔时间
        var intervalTime=50;
        var itemDistance=distance/(time/intervalTime);
        var intervalId = setInterval(function(){
            distance-=itemDistance;

            if(distance<=0){
                clearInterval(intervalId);
            }
            $("html,body").scrollTop(distance-itemDistance);
        },intervalTime);
    })

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

 

posted @ 2018-06-13 20:42  心晴安夏  阅读(1105)  评论(0编辑  收藏  举报