您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
This script adds four radio buttons (All, TV, Movie, OVA & Special) that allows you to show just one type of anime at a time. e.g. if you click on the "Movie" button, it will show you only the movies, and hide TV series, OVAs and other stuff.
当前为
// ==UserScript== // @name MAL Radio Filter // @namespace myanimelist.net // @include http://myanimelist.net/animelist/* // @require http://code.jquery.com/jquery-latest.min.js // @require http://code.jquery.com/ui/1.10.2/jquery-ui.js // @description This script adds four radio buttons (All, TV, Movie, OVA & Special) that allows you to show just one type of anime at a time. e.g. if you click on the "Movie" button, it will show you only the movies, and hide TV series, OVAs and other stuff. // @version 1.5.4 // @grant GM_getValue // @grant GM_setValue // ==/UserScript== var typevar='All'; var scorevar='All'; var progressvar='All'; var airingvar='All'; var ratingvar='All'; var equalscore='0'; var select=1; var ratselect=1; var rangescore=''; var animename=''; function myFunction() { var x=$(this).val(); if ($(this).attr('class')=='type') { typevar=x; } else if ($(this).attr('class')=='score') { scorevar=x; } else if ($(this).attr('class')=='progress') { progressvar=x; begin=progressvar.split('-')[0]; end=progressvar.split('-')[1]; } else if ($(this).attr('class')=='airing') { airingvar=x; } else if ($(this).attr('class')=='rating') { ratingvar=x; } else if ($(this).attr('id')=='select') { select=parseInt(x); } else if ($(this).attr('id')=='ratselect') { ratselect=parseInt(x); } else if ($(this).attr('id')=='equal') { equalscore=x; } else if ($(this).attr('id')=='name') { animename=x; } $("tr:has(.td1,.td2)").hide(); var exp="tr"; $.expr[':'].ratingEquals = $.expr.createPseudo(function(arg) { return function( elem ) { return $(elem).text().match(" " + arg + "$"); }; }); if (typevar!='All' && select) { exp=exp+":has(td[width='50']:contains('"+typevar+"'))"; } else if (typevar!='All' && !select) { exp=exp+":not(:has(td[width='50']:contains('"+typevar+"')))"; } if (airingvar=='Airing') { exp=exp+":contains('Airing')"; } else if (airingvar=='Not Airing') { exp=exp+":not(:contains('Airing'))"; } if (scorevar!='All' && equalscore=='0') { exp=exp+":has(td[width='45']:contains('"+scorevar+"'))"; } else if (scorevar!='All' && equalscore=='1') { exp=exp+":has(td[width='45']:not(:contains('"+scorevar+"')))"; } if (ratingvar!='All' && ratselect) { exp=exp+":has(td[width='50']:ratingEquals('"+ratingvar+"'))"; } else if (ratingvar!='All' && !ratselect) { exp=exp+":not(:has(td[width='50']:ratingEquals('"+ratingvar+"')))"; } if (exp == "tr") { exp=exp+":has(td)"; } if (progressvar!='All') { exp = $(exp).filter(function() { return parseInt($("td[width='70']", this).text()) < parseInt(end) && parseInt($("td[width='70']", this).text()) >= parseInt(begin); }); } if (scorevar!='All' && equalscore=='2') { exp=$(exp).filter(function() { return parseInt($("td[width='45']", this).text()) >= parseInt(scorevar); }); } else if (scorevar!='All' && equalscore=='3') { exp=$(exp).filter(function() { return parseInt($("td[width='45']", this).text()) <= parseInt(scorevar); }); } else if (equalscore=='4') { exp=$(exp).filter(function() { return parseInt($("td[width='45']", this).text()) <= parseInt(scoreend) && parseInt($("td[width='45']", this).text()) >= parseInt(scorebegin); }); } $(exp).each(function(){ if ($(this).text().search(new RegExp(animename, "i")) >=0) { $(this).show(); } }); } $(document).ready(function() { $(".type,.score,.progress,.airing,select,.rating,ratselect").click(myFunction); $("#name").focusin(function() { if (this.value=='Enter a title') { $(this).val(''); } }); $("#name").focusout(function() { if (this.value=='') { $(this).val('Enter a title'); } }); $("#name").keyup(myFunction); $("#choose").click(function() { var bha = prompt('Choose score range separated by a minus','6-8'); $(this).text(bha); rangescore=bha; scorebegin=rangescore.split('-')[0]; scoreend=rangescore.split('-')[1]; myFunction(); }); $(function() { $(".drag").draggable({ // Find position where image is dropped. stop: function(event, ui) { // Save dropped position. var stopPos = $(this).position(); GM_setValue(this.id + ".left", stopPos.left + 'px'); GM_setValue(this.id + ".top", stopPos.top + 'px'); } }); }); /*$(".drag div").hide(); $(".drag").hover(function() { $("div", this).stop(true, true).slideToggle(200); })*/ }); table=document.createElement('table'); table.className='drag'; table.id='type'; table.style.right='190px'; table2=document.createElement('table'); table2.className='drag'; table2.id='score'; table2.style.right='40px'; table3=document.createElement('table'); table3.className='drag'; table3.id='progress'; table3.style.right='190px'; table4=document.createElement('table'); table4.className='drag'; table4.id='airing'; table4.style.right='60px'; table5=document.createElement('table'); table5.className='drag'; table5.id='rating'; table5.style.right='190px'; type=document.createElement('td'); type.className='td'; score=document.createElement('td'); score.className='td'; progress=document.createElement('td'); progress.className='td'; airing=document.createElement('td'); airing.className='td'; rating=document.createElement('td'); rating.className='td'; headtype=document.createElement('tr'); headscore=document.createElement('tr'); headprogress=document.createElement('tr'); headairing=document.createElement('tr'); headrating=document.createElement('tr'); divtype=document.createElement('div'); divscore=document.createElement('div'); divprogress=document.createElement('div'); divairing=document.createElement('div'); divrating=document.createElement('div'); imagetype=document.createElement('div'); imagetype.className='group_header'; imagetype.innerHTML='type'; imagescore=document.createElement('div'); imagescore.className='group_header'; imagescore.innerHTML='score'; imageprogress=document.createElement('div'); imageprogress.className='group_header'; imageprogress.innerHTML='progress'; imageairing=document.createElement('div'); imageairing.className='group_header'; imageairing.innerHTML='status'; imagerating=document.createElement('div'); imagerating.className='group_header'; imagerating.innerHTML='rating'; tr1=document.createElement('tr'); tr2=document.createElement('tr'); tr3=document.createElement('tr'); tr4=document.createElement('tr'); tr5=document.createElement('tr'); tr6=document.createElement('tr'); tr7=document.createElement('tr'); tr8=document.createElement('tr'); tr9=document.createElement('tr'); tr10=document.createElement('tr'); tr11=document.createElement('tr'); tr12=document.createElement('tr'); tr13=document.createElement('tr'); tr14=document.createElement('tr'); tr15=document.createElement('tr'); tr16=document.createElement('tr'); tr17=document.createElement('tr'); tr18=document.createElement('tr'); tr19=document.createElement('tr'); tr20=document.createElement('tr'); tr21=document.createElement('tr'); tr22=document.createElement('tr'); tr23=document.createElement('tr'); tr24=document.createElement('tr'); tr25=document.createElement('tr'); tr26=document.createElement('tr'); tr27=document.createElement('tr'); tr28=document.createElement('tr'); tr29=document.createElement('tr'); tr30=document.createElement('tr'); tr31=document.createElement('tr'); tr32=document.createElement('tr'); tr33=document.createElement('tr'); tr34=document.createElement('tr'); tr35=document.createElement('tr'); tr36=document.createElement('tr'); tr37=document.createElement('tr'); tr38=document.createElement('tr'); tr39=document.createElement('tr'); alltype=document.createElement('input'); alltype.className='type'; alltype.value='All'; alltype.checked='yes'; alltypetext=document.createElement('a'); alltypetext.innerHTML='All'; tv=document.createElement('input'); tv.className='type'; tv.value='TV'; tvtext=document.createElement('a'); tvtext.innerHTML='TV'; movie=document.createElement('input'); movie.className='type'; movie.value='Movie'; movietext=document.createElement('a'); movietext.innerHTML='Movie'; ova=document.createElement('input'); ova.className='type'; ova.value='OVA'; ovatext=document.createElement('a'); ovatext.innerHTML='OVA'; ona=document.createElement('input'); ona.className='type'; ona.value='ONA'; onatext=document.createElement('a'); onatext.innerHTML='ONA'; special=document.createElement('input'); special.className='type'; special.value='Special'; specialtext=document.createElement('a'); specialtext.innerHTML='Special'; music=document.createElement('input'); music.className='type'; music.value='Music'; musictext=document.createElement('a'); musictext.innerHTML='Music'; menutype=document.createElement('select'); menutype.id='select'; select=document.createElement('option'); select.value='1'; select.selected='selected'; select.innerHTML='Select'; remove=document.createElement('option'); remove.value='0'; remove.innerHTML='Remove'; allscore=document.createElement('input'); allscore.className='score'; allscore.value='All'; allscore.checked='yes'; allscoretext=document.createElement('a'); allscoretext.innerHTML='All'; score10=document.createElement('input'); score10.className='score'; score10.value='10'; score10text=document.createElement('a'); score10text.innerHTML='10'; score9=document.createElement('input'); score9.className='score'; score9.value='9'; score9text=document.createElement('a'); score9text.innerHTML='9'; score8=document.createElement('input'); score8.className='score'; score8.value='8'; score8text=document.createElement('a'); score8text.innerHTML='8'; score7=document.createElement('input'); score7.className='score'; score7.value='7'; score7text=document.createElement('a'); score7text.innerHTML='7'; score6=document.createElement('input'); score6.className='score'; score6.value='6'; score6text=document.createElement('a'); score6text.innerHTML='6'; score5=document.createElement('input'); score5.className='score'; score5.value='5'; score5text=document.createElement('a'); score5text.innerHTML='5'; score4=document.createElement('input'); score4.className='score'; score4.value='4'; score4text=document.createElement('a'); score4text.innerHTML='4'; score3=document.createElement('input'); score3.className='score'; score3.value='3'; score3text=document.createElement('a'); score3text.innerHTML='3'; score2=document.createElement('input'); score2.className='score'; score2.value='2'; score2text=document.createElement('a'); score2text.innerHTML='2'; score1=document.createElement('input'); score1.className='score'; score1.value='1'; score1text=document.createElement('a'); score1text.innerHTML='1'; scorenull=document.createElement('input'); scorenull.className='score'; scorenull.value='-'; scorenulltext=document.createElement('a'); scorenulltext.innerHTML='-'; menuscore=document.createElement('select'); menuscore.id='equal'; equal=document.createElement('option'); equal.value='0'; equal.selected='selected'; equal.innerHTML='Equal to'; notequal=document.createElement('option'); notequal.value='1'; notequal.innerHTML='Not equal to'; greater=document.createElement('option'); greater.value='2'; greater.innerHTML='Greater than'; smaller=document.createElement('option'); smaller.value='3'; smaller.innerHTML='Smaller than'; choose=document.createElement('option'); choose.value='4'; choose.id='choose'; choose.innerHTML='Choose range'; namee=document.createElement('input'); namee.id='name'; namee.type='text'; namee.style.width='80px'; namee.value='Enter a title'; allprogress=document.createElement('input'); allprogress.className='progress'; allprogress.value='All'; allprogress.checked='yes'; allprogresstext=document.createElement('a'); allprogresstext.innerHTML='All'; short=document.createElement('input'); short.className='progress'; short.value='0-25'; shorttext=document.createElement('a'); shorttext.innerHTML='Short'; medium=document.createElement('input'); medium.className='progress'; medium.value='25-50'; mediumtext=document.createElement('a'); mediumtext.innerHTML='Medium'; long=document.createElement('input'); long.className='progress'; long.value='50-100'; longtext=document.createElement('a'); longtext.innerHTML='Long'; infinite=document.createElement('input'); infinite.className='progress'; infinite.value='100-10000'; infinitetext=document.createElement('a'); infinitetext.innerHTML='Infinite'; allairing=document.createElement('input'); allairing.className='airing'; allairing.value='All'; allairing.checked='yes'; allairingtext=document.createElement('a'); allairingtext.innerHTML='All'; airingt=document.createElement('input'); airingt.className='airing'; airingt.value='Airing'; airingtext=document.createElement('a'); airingtext.innerHTML='Airing'; notairing=document.createElement('input'); notairing.className='airing'; notairing.value='Not Airing'; notairingtext=document.createElement('a'); notairingtext.innerHTML='Not Airing'; notyetaired=document.createElement('input'); notyetaired.className='airing'; notyetaired.value='Not Yet Aired'; notyetairedtext=document.createElement('a'); notyetairedtext.innerHTML='Not Yet Aired'; allrating=document.createElement('input'); allrating.className='rating'; allrating.value='All'; allrating.checked='yes'; allratingtext=document.createElement('a'); allratingtext.innerHTML='All'; grating=document.createElement('input'); grating.className='rating'; grating.value='G'; gratingtext=document.createElement('a'); gratingtext.innerHTML='G'; pgrating=document.createElement('input'); pgrating.className='rating'; pgrating.value='PG'; pgratingtext=document.createElement('a'); pgratingtext.innerHTML='PG'; pg13rating=document.createElement('input'); pg13rating.className='rating'; pg13rating.value='PG-13'; pg13ratingtext=document.createElement('a'); pg13ratingtext.innerHTML='PG-13'; rrating=document.createElement('input'); rrating.className='rating'; rrating.value='R'; rratingtext=document.createElement('a'); rratingtext.innerHTML='R'; rprating=document.createElement('input'); rprating.className='rating'; rprating.value='R\\+'; rpratingtext=document.createElement('a'); rpratingtext.innerHTML='R+'; rxrating=document.createElement('input'); rxrating.className='rating'; rxrating.value='Rx'; rxratingtext=document.createElement('a'); rxratingtext.innerHTML='Rx'; menurating=document.createElement('select'); menurating.id='ratselect'; ratselect=document.createElement('option'); ratselect.value='1'; ratselect.selected='selected'; ratselect.innerHTML='Select'; ratremove=document.createElement('option'); ratremove.value='0'; ratremove.innerHTML='Remove'; document.body.appendChild(table); table.appendChild(type); type.appendChild(headtype); headtype.appendChild(imagetype); type.appendChild(divtype); divtype.appendChild(tr27); tr27.appendChild(menutype); menutype.appendChild(select); menutype.appendChild(remove); divtype.appendChild(tr16); tr16.appendChild(alltype); tr16.appendChild(alltypetext); divtype.appendChild(tr1); tr1.appendChild(tv); tr1.appendChild(tvtext); divtype.appendChild(tr2); tr2.appendChild(movie); tr2.appendChild(movietext); divtype.appendChild(tr3); tr3.appendChild(ova); tr3.appendChild(ovatext); divtype.appendChild(tr23); tr23.appendChild(ona); tr23.appendChild(onatext); divtype.appendChild(tr4); tr4.appendChild(special); tr4.appendChild(specialtext); divtype.appendChild(tr38); tr38.appendChild(music); tr38.appendChild(musictext); document.body.appendChild(table2); table2.appendChild(score); score.appendChild(headscore); headscore.appendChild(imagescore); score.appendChild(divscore); divscore.appendChild(tr28); tr28.appendChild(menuscore); menuscore.appendChild(equal); menuscore.appendChild(notequal); menuscore.appendChild(greater); menuscore.appendChild(smaller); menuscore.appendChild(choose); divscore.appendChild(tr17); tr17.appendChild(allscore); tr17.appendChild(allscoretext); divscore.appendChild(tr5); tr5.appendChild(score10); tr5.appendChild(score10text); divscore.appendChild(tr6); tr6.appendChild(score9); tr6.appendChild(score9text); divscore.appendChild(tr7); tr7.appendChild(score8); tr7.appendChild(score8text); divscore.appendChild(tr8); tr8.appendChild(score7); tr8.appendChild(score7text); divscore.appendChild(tr9); tr9.appendChild(score6); tr9.appendChild(score6text); divscore.appendChild(tr10); tr10.appendChild(score5); tr10.appendChild(score5text); divscore.appendChild(tr11); tr11.appendChild(score4); tr11.appendChild(score4text); divscore.appendChild(tr12); tr12.appendChild(score3); tr12.appendChild(score3text); divscore.appendChild(tr13); tr13.appendChild(score2); tr13.appendChild(score2text); divscore.appendChild(tr14); tr14.appendChild(score1); tr14.appendChild(score1text); divscore.appendChild(tr15); tr15.appendChild(scorenull); tr15.appendChild(scorenulltext); document.body.appendChild(table3); table3.appendChild(progress); progress.appendChild(headprogress); headprogress.appendChild(imageprogress); progress.appendChild(divprogress); divprogress.appendChild(tr29); tr29.appendChild(namee); divprogress.appendChild(tr18); tr18.appendChild(allprogress); tr18.appendChild(allprogresstext); divprogress.appendChild(tr19); tr19.appendChild(short); tr19.appendChild(shorttext); divprogress.appendChild(tr20); tr20.appendChild(medium); tr20.appendChild(mediumtext); divprogress.appendChild(tr21); tr21.appendChild(long); tr21.appendChild(longtext); divprogress.appendChild(tr22); tr22.appendChild(infinite); tr22.appendChild(infinitetext); document.body.appendChild(table4); table4.appendChild(airing); airing.appendChild(headairing); headairing.appendChild(imageairing); airing.appendChild(divairing); divairing.appendChild(tr24); tr24.appendChild(allairing); tr24.appendChild(allairingtext); divairing.appendChild(tr25); tr25.appendChild(airingt); tr25.appendChild(airingtext); divairing.appendChild(tr26); tr26.appendChild(notairing); tr26.appendChild(notairingtext); divairing.appendChild(tr39); tr39.appendChild(notyetaired); tr39.appendChild(notyetairedtext); document.body.appendChild(table5); table5.appendChild(rating); rating.appendChild(headrating); headrating.appendChild(imagerating); rating.appendChild(divrating); divrating.appendChild(tr30); tr30.appendChild(menurating); menurating.appendChild(ratselect); menurating.appendChild(ratremove); divrating.appendChild(tr31); tr31.appendChild(allrating); tr31.appendChild(allratingtext); divrating.appendChild(tr32); tr32.appendChild(grating); tr32.appendChild(gratingtext); divrating.appendChild(tr33); tr33.appendChild(pgrating); tr33.appendChild(pgratingtext); divrating.appendChild(tr34); tr34.appendChild(pg13rating); tr34.appendChild(pg13ratingtext); divrating.appendChild(tr35); tr35.appendChild(rrating); tr35.appendChild(rratingtext); divrating.appendChild(tr36); tr36.appendChild(rprating); tr36.appendChild(rpratingtext); divrating.appendChild(tr37); tr37.appendChild(rxrating); tr37.appendChild(rxratingtext); $(".drag").css({"position":"fixed","top":"100px","background":"white","opacity":"0.7","padding":"10px","borderRadius":"10px"}); $(".group_header").css({"font-size":"14pt","font-family":"Verdana, Arial, sans-serif","font-weight":"normal","color":"black"}); table3.style.top='325px'; table4.style.top='465px'; table5.style.top='510px'; // Load saved position (if present) function loadPos (ID) { leftX = GM_getValue(ID + '.left'); topY = GM_getValue(ID + '.top'); if(leftX != null) { document.getElementById(ID).style.left = leftX; document.getElementById(ID).style.right = ''; } if(topY != null) { document.getElementById(ID).style.top = topY; } } loadPos('type'); loadPos('score'); loadPos('progress'); loadPos('airing'); loadPos('rating'); $(".td a").css({"color":"black"}); $(".type").attr({type:"radio",name:"group1"}); $(".score").attr({type:"radio",name:"group2"}); $(".progress").attr({type:"radio",name:"group3"}); $(".airing").attr({type:"radio",name:"group4"}); $(".select").attr({type:"radio",name:"group5"}); $(".equal").attr({type:"radio",name:"group6"}); $(".rating").attr({type:"radio",name:"group7"}); function xpath(query, object) { if(!object) var object = document; return document.evaluate(query, object, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); } columnChecker = xpath("//td[@class='table_header'][@width='50']"); if (columnChecker.snapshotLength < 2) { if (columnChecker.snapshotLength == 0) { $(table).hide(); $(table5).hide(); } else { columnChecker = xpath("//td[@class='table_header'][@width='50'][@nowrap='']"); if (columnChecker.snapshotLength == 1) { $(table5).hide(); } else { $(table).hide(); } } } columnChecker = xpath("//td[@class='table_header'][@width='45']"); if (columnChecker.snapshotLength != 1) { $(table2).hide(); } columnChecker = xpath("//td[@class='table_header'][@width='70']"); if (columnChecker.snapshotLength != 1) { $(table3).hide(); } //Two 'Airing' and one 'Not Yet Aired' strings are present in the filter table itself if ($("tr:contains('Airing')").length == 2 && $("tr:contains('Not Yet Aired')").length == 1) { $(table4).hide(); }