首页 > 其他分享 >使用油猴脚本,实现回到顶部

使用油猴脚本,实现回到顶部

时间:2023-10-11 22:12:24浏览次数:33  
标签:脚本 function width 顶部 2px upArrow color border 油猴

经常浏览网页,看到很多网站都有回到顶部的按钮,而有些网站没有这个功能,就想用脚本自己实现一下,这样所有页面都可以使用了。

// ==UserScript==
// @name         ToTop
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       JackMeng
// @match        http*://*
// @include      *
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @iconURL      https://www.cnblogs.com/favicon.ico
// @grant        none
// @run-at       document-end
// @noframes
// ==/UserScript==

//添加样式
function AddStyle()
{
    var styleRule = $(`<style>
    .upShow {
    position: fixed;
    bottom: 6px;
    right: 4px;
    z-index: 1001;
    cursor: pointer;
    height: 35px;
    width:  35px;
    text-align: center;
    line-height: 35px;
    opacity: 0.8;
    border-radius: 50%;/*决定四角圆弧*/
    box-shadow: 0 2px 4px 1px rgba(0,0,0,.6);
    background-color:red;
    transition: all .4s ease;/*延时变化*/
    display: flex;
    align-items: center;
    flex-direction: column;
}

.upShow:hover{background-color: #0dd;}
.upShow:hover .upArrow,
.upShow:hover .upArrow:before,
.upShow:hover .upArrow:after{border-color: #fff;}

.upArrow {
    display: inline-block;
    border-width: 2px 0 0 0;
    border-color: #666;
    border-style: solid;
    font: normal normal normal 14px/1 FontAwesome;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    transition: all .4s ease;/*延时变化*/
    background-color:transparent;
    height: 16px;
    width:  16px;
    margin: 10px 0;
    padding: 2px 0;
}
.upArrow:before{
    content: "";
    display: inline-block;
    height: 10px;
    width:  10px;
    transform: rotate(45deg);
    border-width: 2px 0 0 2px;
    border-color: #666;
    border-style: solid;
}
.upArrow:after{
    content: "";
    position: absolute;
    display: inline-block;
    height: 14px;
    right:16px;
    border-width: 0 0 0 2px;
    border-color: #666;
    border-style: solid;
}
    </style>`).prependTo('html');
    styleRule.attr('type', 'text/css');
    styleRule.attr('id', 'arrowCss');
    styleRule.append('#articleContentId{ color: red; }');
}

//给页面添加元素
function AddElem()
{
    var toTop=$(`<span id="gotoTop" class="upShow" title="返回顶部">
          <i class="upArrow"></i>
       </span>`).prependTo($("body"));

    //toTop[0].onclick = ()=>gotoTop(500);
    //toTop[0].onclick = ()=>{getBlogData(21);}

    return toTop[0];
}


function getBlogData(num)
{
    var host = window.location.host;
    console.log("======================"+num);
}

function bindEvent(obj,minHeight){

    // 定义点击返回顶部图标后向上滚动的动画
    $("#gotoTop").click(
        function(){
            $('html,body').animate({scrollTop:'0px'},'slow');
        });

    // 获取页面的最小高度,无传入值则默认为600像素
    minHeight = minHeight ? minHeight : 600;

    // 为窗口的scroll事件绑定处理函数
    $(window).scroll(function(){
        // 获取窗口的滚动条的垂直滚动距离
        var sTop = $(window).scrollTop();
        // 当窗口的滚动条的垂直距离大于页面的最小高度时,让返回顶部图标渐现,否则渐隐
        if( sTop > minHeight){
            $("#gotoTop").fadeIn(300);
        }else{
            $("#gotoTop").fadeOut(300);
        }
    });
}


(function(){
    'use strict';
    // Your code here...
    if (window.top == window.self)
    {
        //插入样式
        AddStyle();
        //插入元素
        var a = AddElem();
        bindEvent(a,100);
    }

})();

 

标签:脚本,function,width,顶部,2px,upArrow,color,border,油猴
From: https://www.cnblogs.com/mq0036/p/17758332.html

相关文章

  • VxTerm的触发器和脚本功能真的非常强大!一张图告诉你它是如何实现自动化运维的!
    这个是一个ssh会话,实现ssh登录成功后,再进行远程服务器的二次登录!1、初始会话是一个到192.168.0.11的SSH会话,登录成功后,提示zpf@zpf-linuxmint:~$2、在图中可以看到增加了一个触发器test1触发字符串就是^zpf@zpf-linuxmint:~\$\s*这是一个正则表达式触发匹配时,就会向会话发送s......
  • Linux服务器异地备份数据库脚本
    使用Cron作业调度工具来创建一个定时任务,以在每日凌晨1点的时候运行备份脚本。以下是在CentOS7上设置定时备份任务的一般步骤:1.编写备份脚本:创建一个备份脚本,用于连接远程MySQL数据库并执行备份操作。你可以使用mysqldump命令来备份数据库。这是一个简单的示例脚本:#!......
  • 1、python脚本模拟登陆启信宝
    ##coding:utf-8#importrequests#fromlxmlimportetree#classlogin(object):#def__init__(self):#self.headers={#'Referer':'http://www.qixin.com/auth/login?return_url=%2F',#'User-......
  • 在shell脚本的解析简单的json封装数据
    !/bin/bash执行curl请求并保存结果response=$(curl-shttp://10.190.107.156:8090/odsDown/rySyncUsserAndDept)response的json格式=使用awk解析数据并获取code字段的值code=$(echo$response|awk-F'"code":''{print$2}'|awk-F'[,}]''{pri......
  • Linux jar包维护脚本
    1、2、#!/bin/sh##java此处是指定jdk启动exportJAVA_HOME=/opt/jdk-11exportJRE_HOME=$JAVA_HOME/jre##此处是打包的jar包名称,不带.jar后缀APP_NAME=spring-boot-mgt-2.3.0##项目路径APP_DIR=/data/xxxx_temp/xx_mgt##临时目录,如果不指定该目录(使用默认路径)可能......
  • 使用newman来执行posman脚本
    一.什么是Newman简单来说使用Newman,可以让我们的Postman的脚本通过非GUI(命令行)的方式运行二、安装首先需要安装NodeJsNodeJs安装完成后,使用npminstall-gnewman安装newman三、NewMan命令使用newmanrun--help可以查看帮助命令-e指定环境变量-g指定全局......
  • python查找替换危险字符脚本
    为了沃滴好大儿的大创写了这么个脚本代码如下:1importio2importbase6434defreplace_dangerous_sequences(image_path):5try:6#读取图像文件的内容7withopen(image_path,'rb')asimage_file:8image_data=image_......
  • html引用远程js脚本
    html引用远程js脚本varscript=document.createElement('script');script.src='https://example.com/remote-script.js';document.head.appendChild(script);script.addEventListener('load',function(){//远程脚本加载完成后执行的代码conso......
  • 【Postman】以命令行形式执行Postman脚本(使用newman)
    以命令行形式执行Postman脚本(使用Newman)目录以命令行形式执行Postman脚本(使用Newman)一、背景二、Newman的安装1、Node.js2、Newman三、脚本准备四、Newman的执行1、run2、变量的使用3、参数化文件4、指定folder五、生成报告1、生成简洁版html报告2、生成加强版html测试报告和Json......
  • 实现脚本自动部署docker
    前言:使用场景是我这边的一个单体项目需要多一个多副本的部署方式,一直输入重复命令我实在是嫌烦了,使用写了一个脚本来一键更新部署上去。jar包都是我手动上传的,没有把包传入公网库里。之所以记录就是因为遇到了几个没有遇到过的问题记录以下。 示例:#!/bin/bash......