Greasy Fork镜像 支持简体中文。

hdb_show_discount_color

辅助脚本

目前為 2021-04-24 提交的版本,檢視 最新版本

此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.gf.qytechs.cn/scripts/425368/924823/hdb_show_discount_color.js

  1. var css = [
  2. ".tablesorter-default .header,",
  3. ".tablesorter-default .tablesorter-header {",
  4. " padding: 4px 20px 4px 4px;",
  5. " cursor: pointer;",
  6. " background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);",
  7. " background-position: center right;",
  8. " background-repeat: no-repeat;",
  9. "}",
  10. ".tablesorter-default thead .headerSortUp,",
  11. ".tablesorter-default thead .tablesorter-headerSortUp,",
  12. ".tablesorter-default thead .tablesorter-headerAsc {",
  13. " background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);",
  14. " border-bottom: #888 1px solid;",
  15. "}",
  16. ".tablesorter-default thead .headerSortDown,",
  17. ".tablesorter-default thead .tablesorter-headerSortDown,",
  18. ".tablesorter-default thead .tablesorter-headerDesc {",
  19. " background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);",
  20. " border-bottom: #888 1px solid;",
  21. "}",
  22. ".tablesorter-default thead .sorter-false {",
  23. " background-image: none;",
  24. " cursor: default;",
  25. " padding: 4px;",
  26. "}",
  27. ".disc-100, .disc-50, .disc-25, .disc-neu {",
  28. " font-weight: bold;",
  29. "}",
  30. ".disc-100 {",
  31. " color: #009;",
  32. "}",
  33. ".disc-50 {",
  34. " color: darkgreen;",
  35. "}",
  36. ".disc-25 {",
  37. " color: darkred; ",
  38. "}",
  39. ".disc-neu {",
  40. " color: #666; ",
  41. "}"
  42. ].join("\n");
  43.  
  44.  
  45. if (typeof GM_addStyle != 'undefined') {
  46. GM_addStyle(css);
  47. } else if (typeof PRO_addStyle != 'undefined') {
  48. PRO_addStyle(css);
  49. } else if (typeof addStyle != 'undefined') {
  50. addStyle(css);
  51. } else {
  52. var node = document.createElement('style');
  53. node.type = 'text/css';
  54. node.appendChild(document.createTextNode(css));
  55. var heads = document.getElementsByTagName('head');
  56. if (heads.length > 0) {
  57. heads[0].appendChild(node);
  58. } else {
  59. document.documentElement.appendChild(node);
  60. }
  61. }
  62.  
  63.  
  64. this.$ = this.jQuery = jQuery.noConflict(true);
  65.  
  66. $('#torrent-list > thead > tr > th:eq(1)').after('<th class="center">FL</th>');
  67.  
  68. $('#torrent-list > tbody > tr > td:nth-child(3)').each(function(){
  69. var discount = $(this).find('a').attr('title').split(' ')[0];
  70. switch(discount) {
  71. case '100%':
  72. $(this).after('<td class="disc-100 center">100%</td>');
  73. if (extra_settings.hdb_show_discount_color.enable) {
  74. $(this).parent().css('background','linear-gradient(rgba(0,0,153,0.2), rgba(188,202,214,0.5), rgba(0,0,153,0.2))');
  75. }
  76. break;
  77. case '50%':
  78. $(this).after('<td class="disc-50 center">50%</td>');
  79. if (extra_settings.hdb_show_discount_color.enable) {
  80. $(this).parent().css('background','linear-gradient(rgba(0,153,0,0.2), rgba(188,202,214,0.5), rgba(0,153,0,0.2))');
  81. }
  82. break;
  83. case '25%':
  84. $(this).after('<td class="disc-25 center">25%</td>');
  85. if (extra_settings.hdb_show_discount_color.enable) {
  86. $(this).parent().css('background','linear-gradient(rgba(153,0,0,0.2), rgba(188,202,214,0.5), rgba(153,0,0,0.2))');
  87. }
  88. break;
  89. case 'Neutral':
  90. $(this).after('<td class="disc-neu center">NEU</td>');
  91. if (extra_settings.hdb_show_discount_color.enable) {
  92. $(this).parent().css('background','linear-gradient(rgba(102,102,102,0.4), rgba(188,202,214,0.5), rgba(102,102,102,0.4))');
  93. }
  94. break;
  95. case 'All':
  96. $(this).after('<td class="center">—</td>');
  97. break;
  98. }
  99. });
  100.  
  101. $.tablesorter.addParser({
  102. id: 'duration',
  103. is: function() {
  104. return false;
  105. },
  106. format: function(s, table) {
  107. var i, time,
  108. c = table.config,
  109. t = '',
  110. duration = '',
  111. len = c.durationLength || 3,
  112. str = new Array(len + 1).join('0'),
  113. labels = (c.durationLabels || '(?:months|month),(?:days|day),(?:hours|hour)').split(/\s*,\s*/),
  114. llen = labels.length;
  115. // build regex
  116. if (!c.durationRegex) {
  117. for (i = 0; i < llen; i++) {
  118. t += '(?:(\\d+)\\s*' + labels[i] + '\\s*)?';
  119. }
  120. c.durationRegex = new RegExp(t, 'i');
  121. }
  122. // remove commas from value
  123. time = ( c.usNumberFormat ? s.replace(/,/g, '') : s.replace( /(\d)(?:\.|\s*)(\d)/g, '$1$2') ).match(c.durationRegex);
  124. for (i = 1; i < llen + 1; i++) {
  125. duration += ( str + ( time[i] || 0 ) ).slice(-len);
  126. }
  127. return duration;
  128. },
  129. type: 'text'
  130. });
  131.  
  132. $.tablesorter.addParser({
  133. id: 'size',
  134. is: function() {
  135. return false;
  136. },
  137. format: function(s, table) {
  138. var i, time,
  139. c = table.config,
  140. t = '',
  141. size = '',
  142. len = c.sizeLength || 5,
  143. str = new Array(len + 1).join('0'),
  144. labels = (c.sizeLabels || '(?:TiB),(?:GiB),(?:MiB)').split(/\s*,\s*/),
  145. llen = labels.length;
  146. // build regex
  147. if (!c.sizeRegex) {
  148. for (i = 0; i < llen; i++) {
  149. t += '(?:(\\d+)\\s*' + labels[i] + '\\s*)?';
  150. }
  151. c.sizeRegex = new RegExp(t, 'i');
  152. }
  153. // remove dots from value
  154. time = ( c.usNumberFormat ? s.replace(/\./g, '') : s.replace( /(\d)(?:\.|\s*)(\d)/g, '$1$2') ).match(c.sizeRegex);
  155. for (i = 1; i < llen + 1; i++) {
  156. size += ( str + ( time[i] || 0 ) ).slice(-len);
  157. }
  158. return size;
  159. },
  160. type: 'text'
  161. });
  162.  
  163. $("#torrent-list").tablesorter({
  164. headers: {
  165. 0: { parser: false },
  166. 1: { sorter: 'text' },
  167. 2: { sorter: 'digit', string: 'min', sortInitialOrder: 'desc' },
  168. 3: { sorter: 'digit', sortInitialOrder: 'desc' },
  169. 4: { sorter: 'duration'},
  170. 5: { sorter: 'size', sortInitialOrder: 'desc' },
  171. 6: { sorter: 'digit', sortInitialOrder: 'desc' },
  172. 7: { sorter: 'digit', sortInitialOrder: 'desc' },
  173. 8: { sorter: 'digit', sortInitialOrder: 'desc' }
  174. },
  175. });

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址