🎉 欢迎访问GreasyFork.Org 镜像站!本镜像站由公众号【爱吃馍】搭建,用于分享脚本。联系邮箱📮

Greasy fork 爱吃馍镜像

Greasy Fork is available in English.

📂 缓存分发状态(共享加速已生效)
🕒 页面同步时间:2025/12/26 06:23:07
🔄 下次更新时间:2025/12/26 07:23:07
手动刷新缓存

soundcloud scroll queue

Adds a button that automatically scrolls the queue until disabled

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

🚀 安装遇到问题?关注公众号获取帮助

公众号二维码

扫码关注【爱吃馍】

回复【脚本】获取最新教程和防失联地址

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

🚀 安装遇到问题?关注公众号获取帮助

公众号二维码

扫码关注【爱吃馍】

回复【脚本】获取最新教程和防失联地址

// ==UserScript==
// @name         soundcloud scroll queue
// @version      1.0.1
// @description  Adds a button that automatically scrolls the queue until disabled
// @author       bhackel
// @match        https://soundcloud.com/*
// @grant        none
// @run-at       document-idle
// @noframes
// @namespace https://greasyfork.org/en/users/324178-bhackel
// ==/UserScript==

(function() {
    'use strict';

    /* Injects a button into the Next Up queue that runs the script.
    */
    function setup() {
        var btn = document.createElement('Button');
        btn.className = 'bhackelSCScroll sc-button sc-button-medium';
        btn.innerHTML = 'Scroll Down';
        btn.onclick = function(){ start(this); };

        var queue_panel = document.getElementsByClassName('queue__panel')[0];
        if (queue_panel) {
            queue_panel.insertBefore(btn, queue_panel.children[1]);
        } else {
            setTimeout(setup, 1000);
        }
    }

    /* Function called by the button being clicked. Either creates
    an interval to run the scroll function or clears the current interval.
    */
    function start(d){
        if (d.interval){
            clearInterval(d.interval);
            d.interval = 0;
            d.innerHTML = 'Scroll Down';
        } else {
            d.interval = setInterval(scroll, 1000);
            d.innerHTML = 'Stop Scrolling';
        }
    }

    /* Scrolls the queue down to a pixel value, found in one of the
    heights of one of the elements.
    */
    function scroll() {
        var scrollableQueue = document.getElementsByClassName('queue__scrollableInner g-scrollable-inner').item(0);
        var queueContainer = document.getElementsByClassName('queue__itemsHeight').item(0);
        var scrollToHeight = parseInt(queueContainer.style.height);
        scrollableQueue.scroll(0,scrollToHeight);
    }

    setup();

})();