zoukankan      html  css  js  c++  java
  • CSS-返回顶部代码

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

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

        //博客园-FlyElephant
        .goTop {
            height: 40px;
             40px;
            background: red;
            border-radius: 50px;
            position: fixed;
            top: 90%;
            right: 3%;
            display: none;
        }
        
        .goTop span {
            color: #fff;
            position: absolute;
            top: 12px;
            left: 8px;
        }
    

     以上就是常用的样式,如有更好的方式,欢迎探讨~

  • 相关阅读:
    #419 Div2 Problem B Karen and Coffee (统计区间重叠部分 && 前缀和)
    #418 Div2 Problem B An express train to reveries (构造 || 全排列序列特性)
    FZU 2203 单纵大法好 (二分 && 贪心)
    51Nod 1413 权势二进制 (思维)
    51Nod 1433 0和5 (数论 && 被9整除数的特点)
    POJ 2492 A Bug's Life (带权并查集 && 向量偏移)
    POJ 1456 Supermarket (贪心 && 并查集优化)
    POJ 1182 食物链 (带权并查集 && 向量偏移)
    #417 Div2 Problem B Sagheer, the Hausmeister (DFS && 枚举)
    #417 Div2 Problem C Sagheer and Nubian Market (二分 && std::accumulate)
  • 原文地址:https://www.cnblogs.com/xiaofeixiang/p/5042463.html
Copyright © 2011-2022 走看看