pikabu.ru Comment Colorizer

Colorizes comments by rating

当前为 2014-04-27 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name pikabu.ru Comment Colorizer
  3. // @description Colorizes comments by rating
  4. // @author Sanya_Zol (Alexander Zolotarev)
  5. // @icon http://s.pikabu.ru/favicon.ico
  6. // @homepageURL http://userscripts.org/scripts/show/423361
  7. // @namespace Sanya_Zol
  8. // @version 0.1
  9. // @include http://pikabu.ru/*
  10. // @run-at document-end
  11. // ==/UserScript==
  12.  
  13. (function(){
  14. var f = function($){
  15. // var ZolCalcColor = function(r){var sub = (255-Math.min( Math.round( Math.abs(r)*10 ), 255 )+256).toString(16).substr(1); return '#'+( (r>0)?(sub+'ff'+sub):('ff'+sub+sub) );};
  16. var ZolCalcColor_max = 255/Math.log(1000);
  17. var ZolCalcColor = function(r){
  18. var sub = (255-Math.min( Math.round( Math.log(Math.abs(r)+1)*ZolCalcColor_max ), 255 )+256).toString(16).substr(1);
  19. return '#'+( (r>0)?(sub+'ff'+sub):('ff'+sub+sub) );
  20. };
  21. var ZolGradient = function(a,gr){
  22. // http://stackoverflow.com/a/16697618/870183
  23. // a.css("background-image", "-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #333), color-stop(100%, #222))");
  24. a
  25. .css('background-image', '-webkit-linear-gradient('+gr+')')
  26. .css('background-image', '-moz-linear-gradient('+gr+')')
  27. .css('background-image', '-o-linear-gradient('+gr+')')
  28. .css('background-image', 'linear-gradient('+gr+')');
  29. };
  30. $('table.comm_wrap_counter td.info.info_c span[class^="comd"]').each(function(){
  31. var a = $(this).closest('table.comm_wrap_counter');
  32. var c = ZolCalcColor( parseInt($(this).html()) );
  33. a.find('td.info.info_c, td.comment_msg').css('background-color',c);
  34. ZolGradient( a.find('td.comment_b'), 'top, '+c+' 0%,#ffffff 100%' );
  35. });
  36. };
  37. var f2;
  38. f2 = function(){
  39. if( window.jQuery ){
  40. // jQuery(f);
  41. setTimeout(function(){
  42. jQuery(f);
  43. },200);
  44. } else {
  45. setTimeout(f2,500);
  46. }
  47. };
  48. f2();
  49. })();