博客园装饰——(二)滚动到页面顶部或底部

博客园装饰——(二)滚动到页面顶部或底部

功能描述: 1. 当页面向下滚动一定距离时,向下滚动到底部的按钮以淡入的效果出现,并以固定定位显示。且滚动到一定距离(快接近所设置的底部)时,该按钮又会以淡出效果消失。 2. 当页面向下滚动一定距离时,向上滚动到顶部的按钮以淡入的效果出现,并以固定定位显示。往上滚回原来出现的位置前,该按钮又会以淡出效果消失。

博客园装饰——(二)滚动到页面顶部或底部

一、功能描述

1.1 文字描述

  1. 当页面向下滚动一定距离时, 向下滚动到底部的按钮以 淡入的效果出现,并以 固定定位显示。且滚动到一定距离 (快接近所设置的底部)时,该按钮又会以 淡出效果消失。
  2. 当页面向下滚动一定距离时, 向上滚动到顶部的按钮以 淡入的效果出现,并以 固定定位显示。往上滚回原来出现的 位置前,该按钮又会以 淡出效果消失。

1.2 图片效果展示

博客园装饰——(二)滚动到页面顶部或底部

二、代码展示

2.1 html 部分


        ↑
        ↓

              (p{文档内容}+br*10)*20

​ 两个分别是向上滚动和向下滚动的按钮标签,以及为了增大页面长度使用的众多p和br标签

2.2 CSS 部分


            .totop, .tobuttom{
                width:75px;
                height:75px;
                border-radius: 50%;
                background-color: pink;
                opacity: 0.7;
                position:fixed;
                top:700px;
                right:75px;
                cursor: pointer;
                display:none;
                text-align: center;
            }

            .totop{
                top:200px;
            }

            .totop span, .tobuttom span{
                display: inline-block;
                color:white;
                font:bold 50px/75px '华文彩云';
                transform: scale(2,1);
            }

对两个标签进行样式设置,以及定位,并保证一开始为不展示(即display:none;),还有按钮内部文字内容的样式设置

2.3 JS 部分


            $(function(){
                // 获取两个滚动按钮元素
                var toTop = $('.totop');
                var toButtom = $('.tobuttom');
                // 获取页面总高度,是为了能够尽可能的适应更多情况的页面,且更灵活
                var height = $(document).height();
                // console.log(height);

                toTop.click(function(){
                    // scrollTop 的值,可以根据自己的需要调节,使页面向上滚动到自己预期的位置
                    $('html,body').stop().animate({'scrollTop':229},1500);
                })

                toButtom.click(function(){
                    // height - x ,'x' 可以根据自己的需要调节,使页面向下滚动到自己预期的位置
                    $('html,body').stop().animate({'scrollTop':height-1000},1500);
                })

                // 滚动事件
                $(window).scroll(function(){
                    // 获取页面向上滚动的距离
                    var iNum = $(document).scrollTop();
                    // document.title = iNum;

                    // 根据自己的需要设置按钮的出现范围
                    if((iNum>=400)&&(iNum<=(height-2000))){
                        toButtom.fadeIn();
                    }
                    else{
                        toButtom.fadeOut();
                    }

                    if(iNum>=900){
                        toTop.fadeIn();
                    }
                    else{
                        toTop.fadeOut();
                    }
                })

            })

① 获取两个元素:向上、向下滚动按钮
② 获取页面高度
③ 设置点击事件以及滚动事件(详情与解释看代码的注释)

三、小白教程(博客园装饰步骤)

前言

介于可能会有没学过前端的小白朋友看到此篇文章,所以博主在此献上小白教程。
前提:先确保自己把各类权限给申请通过,再看本教程
CSS 和 JS 文件下载地址:
链接:https://pan.baidu.com/s/1ockPW-6RpyonNWp9D0dSIA
提取码:wz8q

3.1 将html部分代码复制到页首HTML

博客园装饰——(二)滚动到页面顶部或底部
↑
↓

3.2 CSS部分

3.2.1 第一种方式:引入CSS文件(页首HTML内)

  1. 先上传css文件到自己的博客园 (顺便把js也上传吧)

博客园装饰——(二)滚动到页面顶部或底部
  1. 点击两个文件,分别复制他们的地址栏

博客园装饰——(二)滚动到页面顶部或底部

js文件的引入也是一样,如上图这样复制地址栏

  1. 页首HTML内引入刚刚上传的CSS文件, ” href “内就是 文件地址

博客园装饰——(二)滚动到页面顶部或底部

刚刚复制的地址,粘贴进 href

3.2.2 第二种方式:直接复制CSS代码(不推荐)

博客园装饰——(二)滚动到页面顶部或底部

为什么说不推荐呢?
首先这种方式,肯定简单快捷,但如果CSS代码都往这里塞的话,就会越来越长, 不方便查阅修改与管理。特别是 js部分的引入问题,建议大家可以看一看下面的经验分享。

3.3 JS部分

3.3.1 第一种方式:引入JS文件

  1. 与上面引入CSS文件前的工作一样,把 js文件地址复制
  2. js文件地址粘贴到 ” src “

博客园装饰——(二)滚动到页面顶部或底部

3.3.2 ※ 第二种方式:直接复制JS代码(不推荐)

博客园装饰——(二)滚动到页面顶部或底部

同样不推荐这种方式,而且博主 严重不推荐该种方式,这种方式有个巨大的坑。
原因:首先基本原因与上面CSS相似。但最大的问题还是 当你放入的js代码太长的话,会导致js代码运行失败,这可能与博客园服务端那边有代码长度方面的限制有关,具体原因尚不清楚,反正博主我是踩过这个坑的了,在这里将经验分享给各位。 而引入js文件的方式就不会失效,也方便代码的管理与查阅,这不两全其美吗?更何况这是一个好习惯

3.4 最后保存设置

四、总结与后言

该插件可应用于博客园装饰,总体设计并不难,本人学习js以及jquery过程中,结合所学知识以及个人思考自行设计的,也算是给自己的一个小考验。朋友们可以拿去食用,或者参考学习一下,自己再进行设计与优化。

博主还有其他几篇关于博客园装饰的文章,可供观看哟~
博客园装饰——(一)置顶菜单栏(导航栏)
博客园装饰——(三)博客园导航目录

Original: https://www.cnblogs.com/fry-hell/p/13335821.html
Author: 油炸地狱
Title: 博客园装饰——(二)滚动到页面顶部或底部

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/612518/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Spring中的声明式事务管理

    方式一:基于xml配置文件方式 1.创建一个测试类 package com.dzj.service; import com.dzj.dao.UserDaoImpl; import …

    Linux 2023年6月14日
    072
  • LinuxKernel(一)

    首先,回顾一下基础的宏操作: C语言宏 # 与 ## #的作用是字符串化:在一个宏中的参数前面使用一个#,预处理器会把这个参数转换为一个字符数组 #define ERROR_LOG…

    Linux 2023年6月8日
    0103
  • PHP获取前一天,前一个月,前半年,前一年的时间戳

    // 获取前一秒 strtotime("-1 seconds"); // 获取前一分钟 strtotime("-1 minute"); //…

    Linux 2023年6月13日
    0166
  • 编写radware的负载配置

    radware如何添加负载服务? 笔者在新添加radware的新负载服务的时候,是习惯去看下上一个负载服务的ID 和 节点服务的ID 号 分别是多少,主要是避免ID冲突,把其他服务…

    Linux 2023年6月8日
    090
  • VMware Workstation Fixed Unable to connect to the MKS

    场景:早上开虚拟机时突然报这个错 解决办法如下: csharp;gutter:true; 以管理员的身份打开CMD,然后执行如下命令: net start vmx86 net st…

    Linux 2023年6月7日
    074
  • haproxy

    1. haproxy简介 2. haproxy配置文件解析 3. haproxy搭建httpd负载均衡 4. 启动haproxy自带的监控界面 haproxy简介 HAProxy是…

    Linux 2023年6月13日
    0125
  • CH9102与CP2102应用注意事项

    CH9102(WCH)与CP2102的不同子型号之间可实现pintopin兼容,可以在不更改硬件设计的前提下实现不同型号间快速切换与产品应用。CH9102的子型号包括:CH9102…

    Linux 2023年6月7日
    087
  • 配置nginx只打印延迟超过0.1s和非2XX的accesslog

    背景 当业务accesslog全开时,写入es的qps达到了10W,评估后觉得不太值得,所以考虑抽样打印。查看相关文档后发现目前我们使用的nginx版本不支持抽样打印,所以考虑其他…

    Linux 2023年6月14日
    0106
  • C++类结构体与json相互转换

    1. 背景与需求 之前写C#的时候,解析json字符串一般使用的是开源的类库Newtonsoft.Json,方法十分简洁,比如: class Project { public st…

    Linux 2023年6月8日
    098
  • boot issue

    Q:生产过程中不小心把 boot文件删除了 ,或者升级kenerl时发现版本不兼容,需要回退,此时没有快照备份情况如何操作? A:boot 主要文件是内核和grub引导文件 1.进…

    Linux 2023年6月6日
    0109
  • 来的随笔

    感谢各位 posted @2022-01-07 12:08 三途河畔人 阅读(71 ) 评论() 编辑 Original: https://www.cnblogs.com/sthp…

    Linux 2023年6月7日
    0103
  • Redis主从配置总结

    grep ‘^[a-Z]’ /usr/local/redis/conf/redis.conf bind 127.0.0.1 192.168.27.115 protected-mod…

    Linux 2023年5月28日
    087
  • jquery ui实现文字下拉联想

    效果图:输入”伤寒”两个字,会自动联想下拉展示带有”伤寒”两个字的内容 前端用的是jquery ui做展示,后端数据接口是json数…

    Linux 2023年6月7日
    082
  • 综合布线 子网掩码 IP地址 子网划分

    A类地址:1.0.0.0~126.255.255.255 255.0.0.0 B类地址:128.0.0.0~191.255.255.255 255.255.0.0 C类地址:192…

    Linux 2023年6月6日
    082
  • shell常用集锦

    404. 抱歉,您访问的资源不存在。 可能是URL不正确,或者对应的内容已经被删除,或者处于隐私状态。 [En] It may be that the URL is incorre…

    Linux 2023年5月27日
    0109
  • Docker-dockerfile

    Docker-通过Dockerfile创建镜像 1.Dockerfile简介 简而言之,Dockerfile 是一个描述如何创建 Docker 镜像所需步骤的文本文件。 一个Doc…

    Linux 2023年6月13日
    086
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球