热门搜索 :
考研考公
您的当前位置:首页正文

页面回到顶部的两种方法

来源:东饰资讯网

一、a 标签链接 Id 的方法

<h1 id= "headtop">我是顶部</h1>
<div class="box"><a href="#headtop">回到顶部</a></div>

此种方法没什么特效过程,几乎是直接到顶。

二、构造滚动动画

页面回到顶部.gif
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>页面回到顶部</title>
    <style>
        .box {
            
            width: 100px;
            height: 100px;
            background-color: #7bef32;
            position: fixed;
            right: 20px;
            top: 7000px;
            text-align: center;
            line-height: 100px;
        }
    </style>
</head>
<body>
    
    <h1 id= "headtop">我是顶部</h1>
    <img src="images/shutter/rayli01.png" alt=""><br>
    <img src="images/shutter/rayli02.jpg" alt=""><br>
    <img src="images/shutter/rayli03.jpg" alt=""><br>
    <img src="images/shutter/rayli04.jpg" alt=""><br>
    <img src="images/shutter/rayli05.jpg" alt=""><br>
    <img src="images/shutter/rayli06.jpg" alt=""><br>
    <img src="images/shutter/rayli01.png" alt=""><br>
    <img src="images/shutter/rayli02.jpg" alt=""><br>
    <img src="images/shutter/rayli03.jpg" alt=""><br>
    <img src="images/shutter/rayli04.jpg" alt=""><br>
    <img src="images/shutter/rayli05.jpg" alt=""><br>
    <img src="images/shutter/rayli06.jpg" alt=""><br>
    <div class="box" id = "box">回到顶部</div>
    <script>
        var box = document.getElementById("box");
        window.onscroll = function(){
            var win_scrol = document.body.scrollTop || document.documentElement.scrollTop;
            if(win_scrol>700){
                box.style.top = 700 +"px";
            }else{
                box.style.top = 7000 +"px";
            }
        }
        box.onclick = function(){
            scrollAnimate(0,1000);
        }
        function scrollAnimate(target,time){
            var frameNumber = 0;    //帧编号
            var start = document.body.scrollTop || document.documentElement.scrollTop;   //起点
            var distance = target - start;
            var interval = 10;
            var maxFrame = time / interval;

            clearInterval(timer);
            var timer = setInterval(function(){
                frameNumber++;
                if(frameNumber == maxFrame){
                    clearInterval(timer);
                }
                //第一个参数t表示当前帧编号
                //第二个参数b表示起始位置
                //第三个参数c表示变化量
                //第四个参数d表示总帧数
                //返回当前帧应该在哪儿
                document.body.scrollTop = document.documentElement.scrollTop = CubicEaseInOut(frameNumber,start,distance,maxFrame);
            },interval);

        }   
            function CubicEaseInOut(t, b, c, d) {
                if ((t /= d / 2) < 1) return c / 2 * t * t * t + b;
                return c / 2 * ((t -= 2) * t * t + 2) + b;
            }
    </script>
</body>
</html>
Top