css实现快速回到顶部效果

来源:V 发布时间:2020-05-20 09:57:53 阅读量:1420

背景:

现在的网站基本上都是长页面,多的有四五屏,少的话也有两三屏,页面太长有的时候为了提升用户体验,会在页面右边出现一个回到顶部的按钮,这样能快速回到顶部,以免在滑动页面出现视觉屏幕,回到顶部一般有四种方式。

1、通过锚链接回到顶部,需要将body加入一个名为top的标记

1

<a href="#top" target="_self">回到顶部</a>

2、通过JavaScript的scroll回到顶部,控制水平和垂直方向

1

<a href="javascript:scroll(0,0)">JavaScript回到顶部<s/a>

3、通过JavaScript控制,缓慢向上滑动,不过不够平滑

1

<a onclick="goScrollTop()">JavaScript缓慢向上滑动</a>

1

2

3

4

5

6

7

8

9

10

11

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、当滚动条滚动到一定位置的时候显示,滚动条向上回滚的时候隐藏向上的回到顶部按钮,这种方式是最常用的方式

1

2

3

<div class="goTop">

    <span>Go</span>

</div>

jQuery代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

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代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

.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;

}


标签: PHP
分享:
评论:
你还没有登录,请先