binotaliu

178867.user.js

Jan 19th, 2016
280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name           班固米次元分界过滤器
  3. // @version 0.1.1
  4. // @uso:version  0.1.1
  5. // @namespace      com.ruocaled.bangumi
  6. // @description    把首页平铺模式的三次元和二次元通过tab分开浏览
  7. // @include        http://chii.in/
  8. // @include        http://bgm.tv/
  9. // @include        https://bgm.tv/
  10. // @include        http://bangumi.tv/
  11.  
  12.  
  13. // ==/UserScript==
  14.  
  15. var 全部 = 0;
  16. var 三次元 = 6;
  17. var 动画  = 2;
  18. var 书籍 = 1;
  19.  
  20.  
  21. var 条目们 = document.getElementsByClassName('infoWrapper');
  22. var 按钮们 = document.getElementById('prgCatrgoryFilter').getElementsByTagName('a');
  23.  
  24.  
  25. for (var i = 0; i <按钮们.length; i++){
  26.     if (按钮们[i].getAttribute('subject_type')){
  27.         if (按钮们[i].getAttribute('subject_type') == 三次元 ){
  28.             按钮们[i].addEventListener("click", function(){
  29.                 藏起来(条目们, 三次元);
  30.             }, false);
  31.         }
  32.         else if  (按钮们[i].getAttribute('subject_type') == 动画){
  33.             按钮们[i].addEventListener("click", function(){
  34.                 藏起来(条目们, 动画);
  35.             }, false);
  36.  
  37.         }
  38.         else if  (按钮们[i].getAttribute('subject_type') == 全部){
  39.             按钮们[i].addEventListener("click", function(){
  40.                 藏起来(条目们, 全部);
  41.             }, false);
  42.  
  43.         }
  44.     }
  45. }
  46.  
  47.  
  48. function 藏起来(条目们, 条目类型){
  49.  
  50.     var 计数器 = 0;
  51.     for (var i = 0; i <条目们.length; i++){
  52.         条目们[i].style.display = 'block';
  53.         if (条目类型 != 全部 && 条目们[i].getAttribute('subject_type') && 条目们[i].getAttribute('subject_type') != 条目类型 && 条目们[i].getAttribute('subject_type') != 书籍){
  54.             条目们[i].style.display = 'none';
  55.         }
  56.         else if (条目们[i].getAttribute('subject_type') && 条目们[i].getAttribute('subject_type') != 书籍) {
  57.             // 重置左右css
  58.             计数器 ++;
  59.             removeClass(条目们[i],'odd');
  60.             removeClass(条目们[i],'even');
  61.             if (计数器%2){
  62.                 addClass(条目们[i],'odd');
  63.             }
  64.             else {
  65.                 addClass(条目们[i],'even');
  66.             }
  67.  
  68.         }
  69.  
  70.     }
  71.  
  72. }
  73.  
  74. //抄来的代码 出处:http://www.avoid.org/javascript-addclassremoveclass-functions/
  75.  
  76. function hasClass(el, name) {
  77.     return new RegExp('(\\s|^)'+name+'(\\s|$)').test(el.className);
  78. }
  79.  
  80. function removeClass(el, name)
  81. {
  82.     if (hasClass(el, name)) {
  83.         el.className=el.className.replace(new RegExp('(\\s|^)'+name+'(\\s|$)'),' ').replace(/^\s+|\s+$/g, '');
  84.     }
  85. }
  86.  
  87. function addClass(el, name)
  88. {
  89.     if (!hasClass(el, name)) { el.className += (el.className ? ' ' : '') +name; }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment