HTML页面中返回顶部的几种实现

HTML页面中返回顶部的几种主流实现方式

发布:2023-08-08     分类:闲者编程     标签:Html主流方式按钮
2023 - 8 - 8
HTML页面中返回顶部的几种实现

最近在开发网站需要制作返回顶部按钮,但是我平时主要做后端开发,对前端不太熟练,经过网上资料查询,制作出了返回顶部的按钮,下面是两种简单的方式,记录一下.喜欢本网站的朋友可以收藏下,会不定期更新学习资料.

一. 使用链接和锚点

这种方式适用于较简单的页面,通过在页面底部添加一个返回顶部的链接,并在页面顶部添加一个带有锚点的元素来实现。例如:

<a href="#top">返回顶部</a>
<!-- ... -->
<div id="top">页面顶部</div>

这里,a 元素的 href 属性设置为 #top,它将跳转到具有相应ID的元素,即页面顶部的 div。当用户点击返回顶部的链接时,页面将滚动到带有相应id的顶部元素。

二. 使用JavaScript按钮

这种方式使用JavaScript来创建一个返回顶部的按钮,点击按钮时触发滚动操作。通过添加以下代码实现。

HTML:

<button id="scrollTopBtn">返回顶部</button>
<!-- ... -->
<div style="height: 1000px;"></div>

JavaScript:

document.getElementById("scrollTopBtn").addEventListener("click", function() {
  window.scrollTo({ top: 0, behavior: "smooth" });
});

在这里,按钮被点击时,使用 window.scrollTo() 函数将页面滚动到顶部位置,behavior: "smooth" 参数使滚动具有平滑的动画效果。

三. 使用CSS样式和定位进行设置

全代码打造简洁美观回到顶部按钮,同上,将代码复制进HTML文件中,打开即可看到效果.

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>doc</title>
<style>
    #back_top{
    display:block;
    width:60px;
    height:60px;
    position:fixed;
    bottom:50px;
    right:40px;
    border-radius:10px 10px 10px 10px;
    text-decoration:none;
    display:none;
    background-color:#999999;
    }
    #back_top span{
        display:block;
        width:60px;
        color:#dddddd;
        font-size:40px;
        text-align:center;
        margin-top:4px;
    }
    #back_top span:hover{
        color:#cccccc;
    }
</style>
</head>
<body>

<div id="article"></div>
<a id="back_top" href="script:;">
  <span>⌆</span>
</a>
</div>
<script>
$(function(){
    for(var i =0 ;i <100;i++){
        $("#article").append("<p>xxxxxxxxxx<br></p>")
    }
})
</script>
<script>
$(function(){
    $(window).scroll(function(){  //只要窗口滚动,就触发下面代码
        var scrollt = document.documentElement.scrollTop + document.body.scrollTop; //获取滚动后的高度
        if( scrollt >200 ){  //判断滚动后高度超过200px,就显示
            $("#back_top").fadeIn(400); //淡出
        }else{
            $("#back_top").stop().fadeOut(400); //如果返回或者没有超过,就淡入.必须加上stop()停止之前动画,否则会出现闪动
        }
    });
    $("#back_top").click(function(){ //当点击标签的时候,使用animate在200毫秒的时间内,滚到顶部
            $("html,body").animate({scrollTop:"0px"},200);
    });
});
</script>
</body>
</html>

四. 引用外部jQuery

新建HTML页面,将下面代码复制保存,通过浏览器打开,即可看到效果.

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>doc</title>
<style>
    .arrow{
        border: 9px solid transparent;
        border-bottom-color: #3DA0DB;
        width: 0px;
        height: 0px;
        top:0px
    }
    .stick{
        width: 8px;
        height: 14px;
        border-radius: 1px;
        background-color: #3DA0DB;
        top:15px;
    }
    #back_top div{
        position: absolute;
        margin: auto;
        right: 0px;
        left: 0px;
    }
    #back_top{
        background-color: #dddddd;
        height: 38px;
        width: 38px;
        border-radius: 3px;
        display: block;
        cursor: pointer;
        position: fixed;
        right: 50px;
        bottom: 100px;
        display: none;
    }
</style>
</head>
<body>
<div id="article"></div>
<div id="back_top">
<div class="arrow"></div>
<div class="stick"></div>
</div>
<script src="http://cdn.staticfile.org/jquery/1.11.1-rc2/jquery.min.js"></script>
<script>
$(function(){
    for(var i =0 ;i <100;i++){
        $("#article").append("<p>xxxxxxxxxx<br></p>")
    }
})
</script>
<script>
$(function(){
    $(window).scroll(function(){  //只要窗口滚动,就触发下面代码
        var scrollt = document.documentElement.scrollTop + document.body.scrollTop; //获取滚动后的高度
        if( scrollt >200 ){  //判断滚动后高度超过200px,就显示
            $("#back_top").fadeIn(400); //淡入
        }else{
            $("#back_top").stop().fadeOut(400); //如果返回或者没有超过,就淡出.必须加上stop()停止之前动画,否则会出现闪动
        }
    });
    $("#back_top").click(function(){ //当点击标签的时候,使用animate在200毫秒的时间内,滚到顶部
        $("html,body").animate({scrollTop:"0px"},200);
    }); 
});
</script>
</body>
</html>

以上是几种常见的实现返回顶部功能的方法。可以根据项目需求和个人喜好选择其中一种或结合使用。

更新:2023-08-08
点击评论
评论区