Github To The Top Button

Add a to-the-top button into the github's pages.

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Github To The Top Button
// @name:zh-CN   Github返回页顶按钮
// @namespace    https://github.com/
// @version      0.1
// @description  Add a to-the-top button into the github's pages.
// @description:zh-CN  给github的每个页面添加一个返回页顶的按钮。
// @author       ETY001
// @match        https://github.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    var topbtn = document.createElement("div");
    topbtn.innerHTML = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1498751358770" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2557" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M21.490332 682.20038c0-15.021112 5.711312-30.036084 17.169752-41.500183l430.195516-430.17746c22.882087-22.915919 60.038871-22.915919 82.956775 0l430.238496 430.17746c22.916881 22.922059 22.916881 60.036351 0 82.95841-22.882087 22.915919-60.038871 22.915919-82.955752 0L510.351385 334.975191 121.65677 723.659631c-22.923021 22.915919-60.038871 22.915919-82.961892 0C27.20062 712.236464 21.490332 697.215352 21.490332 682.20038L21.490332 682.20038zM21.490332 682.20038" p-id="2558"></path></svg>';
    topbtn.style = 'position: fixed; bottom: 50px; right: 10%; background-color: #ddd; padding: 10px; border-radius: 15px; cursor: pointer;';
    topbtn.firstElementChild.style = 'width: 40px; height:40px;';
    document.getElementsByTagName('body')[0].appendChild(topbtn);
    window.onscroll = function(){
        var top = document.documentElement.scrollTop || document.body.scrollTop;
        if( top >= 300 ) {
            topbtn.style.bottom=50+'px';
        } else {
            topbtn.style.bottom=-1000+'px';
        }
    };
    var intervalTimer = null;
    topbtn.onclick = function(){
        intervalTimer=setInterval(function(){
            var top = document.documentElement.scrollTop || document.body.scrollTop;
            top-=1000;
            if (top>0) {
                window.scrollTo(0,top);
            } else {
                window.scrollTo(0,0);
                clearInterval(intervalTimer);
            }
        } , 1);
    };
})();