加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

用CSS怎样完美实现返回顶部的按钮?

发布时间:2023-08-12 13:51:28 所属栏目:语言 来源:
导读:返回顶部的按钮在很多网站上都能看到,因为现在的网站基本上都是长页面,如果页面太多,用户只能手动滚动鼠标返回顶部的体验是很差的,因此如有返回顶部的按钮就非常的方便。对此,这篇文章就给大家来分享一下用CSS+
返回顶部的按钮在很多网站上都能看到,因为现在的网站基本上都是长页面,如果页面太多,用户只能手动滚动鼠标返回顶部的体验是很差的,因此如有返回顶部的按钮就非常的方便。对此,这篇文章就给大家来分享一下用CSS+JS怎样实现返回顶部的按钮?
 
    1.通过锚链接回到顶部,需要将body加入一个名为top的标记:
 
<a href="#top" target="_self">回到顶部</a>
 
    2.通过JavaScript的scroll回到顶部,控制水平和垂直方向:
 
<a href="javascript:scroll(0,0)">JavaScript回到顶部<s/a>
 
    3.通过JavaScript控制,缓慢向上滑动,不过不够平滑,代码参考如下:
 
<a onclick="goScrollTop()">JavaScript缓慢向上滑动</a>
 
function goScrollTop() {
 
    //把内容滚动指定的像素数(第一个参数是向右滚动的像素数,第二个参数是向下滚动的像素数)
 
    //向上是负数,向下是正数
 
    window.scrollBy(0, -100);
 
    //延时递归调用,模拟滚动向上效果
 
    scrolldelay = setTimeout('goScrollTop()', 100);
 
    //获取scrollTop值,声明了DTD的标准网页取document.documentElement.scrollTop,否则取document.body.scrollTop;
 
    //因为二者只有一个会生效,另一个就恒为0,所以取和值可以得到网页的真正的scrollTop值
 
    var sTop = document.documentElement.scrollTop + document.body.scrollTop;
 
    //判断当页面到达顶部,取消延时代码(否则页面滚动到顶部会无法再向下正常浏览页面)
 
    if (sTop == 0) clearTimeout(scrolldelay);
 
}
 
    4.当滚动条滚动到一定位置的时候显示,滚动条向上回滚的时候隐藏向上的回到顶部按钮,这种方式是最常用的方式:
 
<div class="goTop">
 
    <span>Go</span>
 
</div>
 
    jQuery代码:
 
 
 
function goTop(min_height) {
 
    $(".goTop").click(
 
        function() {
 
            $('html,body').animate({
 
                scrollTop: 0
 
            }, 700);
 
        });
 
    //获取页面的最小高度,无传入值则默认为600像素
 
    min_height=min_height?min_height:400;
 
    //为窗口的scroll事件绑定处理函数
 
    $(window).scroll(function() {
 
        //获取窗口的滚动条的垂直位置
 
        var s = $(window).scrollTop();
 
        //当窗口的滚动条的垂直位置大于页面的最小高度时,让返回顶部元素渐现,否则渐隐
 
        if (s > min_height) {
 
            $(".goTop").fadeIn(100);
 
        } else {
 
            $(".goTop").fadeOut(200);
 
        }
 
    });
 
}
 
 
 
 
 
$(function() {
 
    goTop();
 
});
 
    CSS代码:
 
.goTop {
 
    height: 40px;
 
    width: 40px;
 
    background: red;
 
    border-radius: 50px;
 
    position: fixed;
 
    top: 90%;
 
    right: 3%;
 
    display: none;
 
}
 
 
 
.goTop span {
 
    color: #fff;
 
    position: absolute;
 
    top: 12px;
 
    left: 8px;
 
}
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章