您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
mouseover to animate thumbs
// ==UserScript== // @name Youtube Thumbs // @namespace hr // @description mouseover to animate thumbs // @version 1.1 // @include http://*youtube.com* // @include https://*youtube.com* // @exclude http*://img.youtube.com/vi/* // @grant GM_registerMenuCommand // @grant GM_getValue // @grant GM_setValue // ==/UserScript== const LOOP_INTERVAL = 700; // 1000 = 1 second var loopHandler, img, imgs, defaultname, endname; scriptinit(); function scriptinit() { document.addEventListener('mouseover', mo, false); } GM_registerMenuCommand('Youtube Thumbs: toogle buttons', function(){GM_setValue('noButtons',!GM_getValue('noButtons'));}); function mo(evt) { if( evt.target.nodeName=='IMG' && evt.target.getAttribute('src') && evt.target.getAttribute('src').search(/default\.jpg/)>-1 ) { defaultname = evt.target.getAttribute('src').match(/\/[^\/]+\.jpg/); endname = evt.target.getAttribute('src').match(/\?.*/); start(evt); evt.target.addEventListener('mouseout', end, false); } } function start(evt) { img = evt.target; imgZIndex(evt); img.setAttribute('src', img.getAttribute('src').replace(/\/[^\/]+\.jpg.*/, '/1.jpg')); loopHandler = setInterval(loop, LOOP_INTERVAL); } function loop() { if(!img){ clearInterval(loopHandler); return; } var num = parseInt( img.getAttribute('src').match(/(\d)\.jpg/)[1] ); if(num==3) num = 1; else num++; img.setAttribute('src', img.getAttribute('src').replace(/\d\.jpg/, +num+'.jpg')); } function end(evt) { var node; clearInterval(loopHandler); evt.target.setAttribute('src', img.getAttribute('src').replace(/\/[^\/]+\.jpg/, defaultname).concat(endname)); img.style.zIndex = null; img = null; } function imgZIndex(evt){ if(GM_getValue('noButtons') || evt.ctrlKey){ img.style.zIndex = '999999999'; }else{ img.style.zIndex = null; } } window.addEventListener('spfdone', scriptinit);