Greasy Fork is available in English.

Acfun首页板块位置自定义

Acfun首页板块位置自定义,跳转

25.05.2020 itibariyledir. En son verisyonu görün.

// ==UserScript==
// @name         Acfun首页板块位置自定义
// @namespace    ACfunHomePageCustomize
// @version      0.1.1
// @description  Acfun首页板块位置自定义,跳转
// @author       Jianeddie
// @match        https://www.acfun.cn/
// @require      https://code.jquery.com/jquery-3.5.0.min.js
// @require      https://code.jquery.com/ui/1.12.1/jquery-ui.min.js
// @require      https://cdn.jsdelivr.net/npm/jquery.scrollto@2.1.2/jquery.scrollTo.min.js
// @grant        GM_getValue
// @grant        GM_setValue
// @grant        GM.deleteValue
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
    // pagelet_douga.parentNode.removeChild(pagelet_douga);

    var $ = window.$;

    var pageletList = [
        {'name': '动画', 'divname': 'pagelet_douga'},
        {'name': '游戏', 'divname': 'pagelet_game'},
        {'name': '娱乐', 'divname': 'pagelet_amusement'},
        {'name': '番剧', 'divname': 'pagelet_bangumi_list'},
        {'name': '生活', 'divname': 'pagelet_life'},
        {'name': '科技', 'divname': 'pagelet_tech'},
        {'name': '舞蹈', 'divname': 'pagelet_dance'},
        {'name': '音乐', 'divname': 'pagelet_music'},
        {'name': '影视', 'divname': 'pagelet_film'},
        {'name': '鱼塘', 'divname': 'pagelet_fishpond'},
        {'name': '体育', 'divname': 'pagelet_sport'}];

    var listIndex = [0,1,2,3,4,5,6,7,8,9,10];

    var sortalbeFlag = false;

    var storageData = getStorageData();
    if (storageData) {
        listIndex = storageData;

    } else {
        setStorageData(listIndex);
    }

    var divList = document.createElement('div');
    divList.style.cssText = "position: fixed;top:280px;left:calc(50% + 620px);border:1px solid #e5e5e5; border-radius:8px;";
    divList.id = "pagelet_List";

    var divListContain = document.createElement('div');
    divListContain.style.cssText = "display: flex;flex-direction:column;align-items: center;justify-content:center;margin-top: 8px;margin-bottom: 4px;";
    divListContain.id = "pagelet_List_Contain";
    divList.appendChild(divListContain);

    var divListCss ="width: 54px;height: 30px;line-height: 30px;text-align: center;transition: all .2s;cursor: pointer;-ms-user-select: none;user-select: none;color: black;";
    for(let num = 0;num < pageletList.length;num ++){
        var divListItem = document.createElement('div');
        divListItem.style.cssText = divListCss;
        divListItem.id = "pagelet_ListItem_" + num;
        divListItem.innerText = pageletList[listIndex[num]].name;
        divListContain.appendChild(divListItem);
        if (num != listIndex[num]){
            if (num == 0){
                $("#pagelet_list_banana").after($('#' + pageletList[listIndex[num]].divname));
            } else {
                $('#' + pageletList[listIndex[num - 1]].divname).after($('#' + pageletList[listIndex[num]].divname));
            }
        }
    }

    var divListChange = document.createElement('div');
    divListChange.style.cssText = divListCss + "border-top:1px solid #e5e5e5;";
    divListChange.id = "pagelet_ListItemChange";
    divListChange.innerText = "调整";
    divList.appendChild(divListChange);

    var divListDefault = document.createElement('div');
    divListDefault.style.cssText = divListCss + "margin-bottom: 6px;";
    divListDefault.id = "pagelet_ListItemDefault";
    divListDefault.innerText = "重置";
    divList.appendChild(divListDefault);


    var pagelet_top_area = document.getElementById("pagelet_top_area");
    pagelet_top_area.parentNode.appendChild(divList);

    var overCss = {"background-color": "#fd4c5d","color": "white"};
    var outCss ={"background-color": "transparent","color": "black"};

    for(let num = 0;num < pageletList.length;num ++){
        (function(num){
            $('#pagelet_ListItem_' + num).mouseover(function () {
               $('#pagelet_ListItem_' + num).css(overCss);
            }).mouseout(function () {
               $('#pagelet_ListItem_' + num).css(outCss);
            }).click(function(){
                $.scrollTo('#' + pageletList[listIndex[num]].divname,200,{offset:-100});
            })
        })(num)
    }

    $('#pagelet_ListItemChange').mouseover(function () {
        $('#pagelet_ListItemChange').css(overCss);
     }).mouseout(function () {
        $('#pagelet_ListItemChange').css(outCss);
    }).click(function(){
        if (sortalbeFlag){
            $('#pagelet_ListItemChange').mouseout(function () {
                $('#pagelet_ListItemChange').css(outCss);
            });

            $("#pagelet_List_Contain").sortable({disabled: true});
            sortalbeFlag = false;
            for(let num = 0;num < pageletList.length;num ++){
                (function(num){
                    $('#pagelet_ListItem_' + num).css(outCss);
                    $('#pagelet_ListItem_' + num).mouseover(function () {
                        $('#pagelet_ListItem_' + num).css(overCss);
                    }).mouseout(function () {
                        $('#pagelet_ListItem_' + num).css(outCss);
                    }).click(function(){
                        $.scrollTo('#' + pageletList[num].divname,200,{offset:-100});
                    })
                })(num)
            }
        } else{
            $('#pagelet_ListItemChange').unbind('mouseout');
            for(let num = 0;num < pageletList.length;num ++){
                (function(num){
                    $('#pagelet_ListItem_' + num).unbind('click');
                })(num)
            }
            $("#pagelet_List_Contain").sortable({disabled: false,axis: "y",revert: 300,scrollSensitivity: 50,activate: function( event, ui ) {
                for(let num = 0;num < pageletList.length;num ++){
                    (function(num){
                        $('#pagelet_ListItem_' + num).css(outCss);
                        $('#pagelet_ListItem_' + num).unbind('mouseover');
                    })(num)
                }

                $(ui.item).css(overCss);
                $(ui.item).unbind("mouseout");

            },stop: function( event, ui ) {
                $(ui.item).mouseout(function () {
                        $(ui.item).css(outCss);
                    })

                for(let num = 0;num < pageletList.length;num ++){
                    (function(num){
                        $('#pagelet_ListItem_' + num).mouseover(function () {
                            $('#pagelet_ListItem_' + num).css(overCss);
                        })
                    })(num)
                }

                var sortedIDs = $( "#pagelet_List_Contain" ).sortable( "toArray" );

                for(let num = 0;num < sortedIDs.length;num ++){
                    if (listIndex[num] != parseInt(sortedIDs[num].split('_')[2])){
                        listIndex[num] = parseInt(sortedIDs[num].split('_')[2]);
                    }
                }

                setStorageData(listIndex);

                for(let num = 0;num < pageletList.length;num ++){
                    if (num != listIndex[num]){
                        if (num == 0){
                            $("#pagelet_list_banana").after($('#' + pageletList[listIndex[num]].divname));
                        } else {
                            $('#' + pageletList[listIndex[num - 1]].divname).after($('#' + pageletList[listIndex[num]].divname));
                        }
                    }
                }
            }});
            sortalbeFlag = true;
        }
    })

    $('#pagelet_ListItemDefault').mouseover(function () {
        $('#pagelet_ListItemDefault').css(overCss);
     }).mouseout(function () {
        $('#pagelet_ListItemDefault').css(outCss);
    }).click(function(){
        deleteStorageData();
        location.reload();
    })


    function getStorageData() {
        return GM_getValue('ACfunHomePageCustomizeData');
    }

    function setStorageData(value) {
        return GM_setValue('ACfunHomePageCustomizeData', value);
    }

    function deleteStorageData() {
        GM.deleteValue("ACfunHomePageCustomizeData");
    }
})();