Custom reddit top posts

custom reddit top posts

当前为 2016-05-20 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Custom reddit top posts
  3. // @namespace http://hayageek.com
  4. // @include https://*.reddit.com/r/*/top/*
  5. // @include http://*.reddit.com/r/*/top/*
  6. // @require http://cdn.jsdelivr.net/jquery/2.1.3/jquery.min.js
  7. // @require https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/picker.js
  8. // @require https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/picker.date.js
  9. // @require https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/picker.time.js
  10. // @resource https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/themes/default.css
  11. // @resource https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/themes/default.date.css
  12. // @resource https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/themes/default.time.css
  13. // @version 1.03
  14. // @grant GM_addStyle
  15. // @description custom reddit top posts
  16. // ==/UserScript==
  17.  
  18. $( ".drop-choices" ).append("<div class='custom'><a href='#'>custom</div>");
  19.  
  20. //$( ".drop-choices" ).append('<div class="calendar" style="display: none;"> <fieldset>\
  21. // From: <input type="text" id="input_from">\
  22. //</fieldset>\
  23. //<fieldset>\
  24. // To: <input type="text" id="input_to">\
  25. //</fieldset>');
  26.  
  27.  
  28. $(document).ready(function() {
  29. $('.custom').click(function() {
  30. // $('.calendar').slideToggle("fast");
  31. $('.calendar').slideToggle("fast");
  32. });
  33. });
  34.  
  35.  
  36. $("body").append ( '<div class="calendar" style="display: none;"> \
  37. <fieldset> \
  38. <input type="text" id="input_from">\
  39. </fieldset> \
  40. <fieldset> \
  41. <input type="text" id="input_to"> \
  42. </fieldset> \ \
  43. <p id="myNumberSum">&nbsp;</p> \
  44. <button id="gmAddNumsBtn" type="button">Search</button> \
  45. <button id="gmCloseDlgBtn" type="button">Close</button> \
  46. </fieldset> \
  47. </div> \
  48. ' );
  49.  
  50.  
  51. //--- Use jQuery to activate the dialog buttons.
  52. $("#gmAddNumsBtn").click ( function () {
  53. var A = $("#myNumber1").val ();
  54. var B = $("#myNumber2").val ();
  55. var C = parseInt(A, 10) + parseInt(B, 10);
  56.  
  57. $("#myNumberSum").text ("The sum is: " + C);
  58. } );
  59.  
  60. $("#gmCloseDlgBtn").click ( function () {
  61. $(".gmPopupContainer").slideToggle("fast");
  62. } );
  63.  
  64.  
  65.  
  66.  
  67. var from_$input = $('#input_from').pickadate(),
  68. from_picker = from_$input.pickadate('picker');
  69.  
  70. var to_$input = $('#input_to').pickadate(),
  71. to_picker = to_$input.pickadate('picker');
  72.  
  73.  
  74. // Check if there’s a “from” or “to” date to start with.
  75. if ( from_picker.get('value') ) {
  76. to_picker.set('min', from_picker.get('select'));
  77. }
  78. if ( to_picker.get('value') ) {
  79. from_picker.set('max', to_picker.get('select'));
  80. }
  81.  
  82. // When something is selected, update the “from” and “to” limits.
  83. from_picker.on('set', function(event) {
  84. if ( event.select ) {
  85. to_picker.set('min', from_picker.get('select'));
  86. }
  87. else if ( 'clear' in event ) {
  88. to_picker.set('min', false);
  89. }
  90. });
  91. to_picker.on('set', function(event) {
  92. if ( event.select ) {
  93. from_picker.set('max', to_picker.get('select'));
  94. }
  95. else if ( 'clear' in event ) {
  96. from_picker.set('max', false);
  97. }
  98. });
  99.  
  100. GM_addStyle('.picker{font-size:16px;text-align:left;line-height:1.2;color:#000;position:absolute;z-index:10000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker__input{cursor:default}.picker__input.picker__input--active{border-color:#0089ec}.picker__holder{width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;position:fixed;transition:background .15s ease-out,-webkit-transform 0s .15s;transition:background .15s ease-out,transform 0s .15s;-webkit-backface-visibility:hidden}/*!\
  101. * Default mobile-first, responsive styling for pickadate.js\
  102. * Demo: http://amsul.github.io/pickadate.js\
  103. */.picker__frame,.picker__holder{top:0;bottom:0;left:0;right:0;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.picker__frame{position:absolute;margin:0 auto;min-width:256px;max-width:666px;width:100%;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);-moz-opacity:0;opacity:0;transition:all .15s ease-out}.picker__wrap{display:table;width:100%;height:100%}@media (min-height:33.875em){.picker__frame{overflow:visible;top:auto;bottom:-100%;max-height:80%}.picker__wrap{display:block}}.picker__box{background:#fff;display:table-cell;vertical-align:middle}@media (min-height:26.5em){.picker__box{font-size:1.25em}}@media (min-height:33.875em){.picker__box{display:block;font-size:1.33em;border:1px solid #777;border-top-color:#898989;border-bottom-width:0;border-radius:5px 5px 0 0;box-shadow:0 12px 36px 16px rgba(0,0,0,.24)}}@media (min-height:40.125em){.picker__frame{margin-bottom:7.5%}.picker__box{font-size:1.5em;border-bottom-width:1px;border-radius:5px}}.picker--opened .picker__holder{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);zoom:1;background:rgba(0,0,0,.32);transition:background .15s ease-out}.picker--opened .picker__frame{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter:alpha(opacity=100);-moz-opacity:1;opacity:1}@media (min-height:33.875em){.picker--opened .picker__frame{top:auto;bottom:0}}')
  104.