CSS加JS实现网页返回顶部功能

CSS加JS实现网页返回顶部功能最近在设计自己的博客,前端页面在内容很多的时候往下拖动会有滚动条。通常我们都需要一个返回顶部的功能来实现快速来到网页顶部。当然实现方式不止一种,这里我采用的最实用的一种。使用CSS+Jquery方式代码量相对较少,容易理解。实现原理1.我们需要再DOM中添加自己的DIV,里面包含一个a标签,a标签里面包含两个img标签用于存放返回顶部的图片。2.添加必要的CSS样式3.然后…

大家好,又见面了,我是你们的朋友全栈君。

最近在设计自己的博客,前端页面在内容很多的时候往下拖动会有滚动条。通常我们都需要一个返回顶部的功能来实现快速来到网页顶部。当然实现方式不止一种,这里我采用的最实用的一种。使用CSS+Jquery方式 代码量相对较少,容易理解。

 

实现原理

1.我们需要再DOM中添加自己的DIV,里面包含一个a标签,a标签里面包含两个img标签用于存放返回顶部的图片。

2.添加必要的CSS样式

3.然后通过JS代码实现当网页滚动100px以下,返回顶部的图标开始逐渐出现。相反则图标逐渐消失。这里面有一个渐变的效果。

4.当点击a标签时,JS实现延迟滚动网页到顶部。

 

实现效果

CSS加JS实现网页返回顶部功能

 

代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="js/jquery.min.js"></script>

    <style type="text/css">
        .right-bar {
            position: fixed;
            display: none;
            bottom: 100px;
            right: 0;
            text-align: center;
        }

        .right-bar a {
            text-align: center;
            text-decoration: none;
            color: #757575;
            display: block;
            width: 64px;
        }

        .right-bar .bar-img {
            position: relative;
            width: 30px;
            height: 30px;
            padding-top: 20px;
            margin: 0 0 0 17px;
        }

        .right-bar .bar-s .bar-img img {
            width: 20px;
            height: 20px;
        }

        .right-bar .bar-img .hover-img {
            display: none;
        }

        .right-bar a:hover .hover-img {
            display: block;
        }

        .right-bar a:hover .original-img {
            display: none;
        }

        .content {
            margin: 10px 100px;
            text-indent: 2em;
            text-align: justify;
            line-height: 1.6em;
        }
    </style>
</head>

<body>
    <p class="content">
        此处填充任意大量文本
    </p>
    <div class="right-bar" id="go-to-top">
        <a href="#top">
            <div class="bar-img">
                <img class="original-img" src="image/totop.png">
                <img class="hover-img" src="image/totop_hover.png">
            </div>
        </a>
    </div>
</body>
<script>
    $(function () {
        //当滚动到距顶部100像素以下时,出现箭头图标,否则消失
        $(function () {
            $(window).scroll(function () {
                if ($(window).scrollTop() > 100) {
                    $("#go-to-top").fadeIn(1000);
                }
                else {
                    $("#go-to-top").fadeOut(1000);
                }
            });

            //点击图标回到页面顶部
            $("#go-to-top").click(function () {
                if ($('html').scrollTop()) {
                    $('html').animate({ scrollTop: 0 }, 1000);
                    return false;
                }
                $('body').animate({ scrollTop: 0 }, 1000);
                return false;
            });
        });
    });
</script>

</html>

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159797.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 消息中间件MQ与RabbitMQ面试题(2020最新版)

    消息中间件MQ与RabbitMQ面试题(2020最新版)文章目录为什么使用MQ?MQ的优点消息队列有什么优缺点?RabbitMQ有什么优缺点?你们公司生产环境用的是什么消息中间件?Kafka、ActiveMQ、RabbitMQ、RocketMQ有什么优缺点?MQ有哪些常见问题?如何解决这些问题?什么是RabbitMQ?rabbitmq的使用场景RabbitMQ基本概念RabbitMQ的工作模式如何保证RabbitMQ消息的顺序性?消息如何分发?消…

  • ffmpeg下载安装教程_Anaconda安装ffmpeg

    ffmpeg下载安装教程_Anaconda安装ffmpeg最近在处理一些音频数据,ffmpeg是一款非常好用处理音视频的工具包。那什么是ffmpeg呢?FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,可以结合Java开发一些处理视频音频的功能。1.ffmpeg下载首先打开ffmpeg官网下载然后点击windows对应的图标,再点击下面的”WindowsEXEFile”随便选一个点进去选择一个版本下载。2.下载后解压,配置环境变量下载解压后就能在bin文件夹下能看到三个可执行程序:ffmpeg、ffpl

  • 深刻解读的意思_tdma和cdma区别

    深刻解读的意思_tdma和cdma区别简介  TD-SCDMA——TimeDivision-SynchronousCodeDivisionMultipleAccess(时分同步的码分多址技术)。  TD-SCDMA作为中国提出的第三代移动通信标准(简称3G),自1998年正式向ITU(国际电联)提交以来,已经历经十来年的时间,完成了标准的专家组评估、ITU认可并发布、与3GPP(第三代伙伴项目)体系的融合、新技术特性的…

  • hive数据类型有哪些?[通俗易懂]

    hive数据类型有哪些?[通俗易懂] 关系数据库里有表(table),分区,hive里也有这些东西,这些东西在hive技术里称为hive的数据模型。今天本文介绍hive的数据类型,数据模型以及文件存储格式。这些知识大家可以类比关系数据库的相关知识。  首先我要讲讲hive的数据类型。Hive支持两种数据类型,一类叫原子数据类型,一类叫复杂数据类型。  原子数据类型包括数值型、布尔型和字符串类型,具体如下表所示:基本数据类型类型…

  • google earth无法连接到服务器_怎么做才能保护地球

    google earth无法连接到服务器_怎么做才能保护地球近期Google地球、GoogleEarth、谷歌地球pro版本启动后提示无法连接到登录服务器或者启动后黑屏,可能是DNS污染、IP屏蔽、协议问题或者网络问题,以下介绍三种方法解决。先说结果:第一种修改host文件方法可能行不通,后续也要更新hosts文件,连接可能不稳定;第二种方法是使用免费加速器,可彻底解决此问题;第三种方法就是使用替代的国产软件,如图新地球、奥维地球等。

  • 九度 1480:最大上升子序列和(动态规划思想求最值)

    九度 1480:最大上升子序列和(动态规划思想求最值)

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号