decembre

GM - Scroll to Bottom or Top (by midpoint - GreasyFork)- TWEAK

Mar 10th, 2024
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name    Scroll to Bottom or Top (by midpoint - GreasyFork)- TWEAK
  3. // @author  midpoint
  4. // @description  - TWEAK GRANT - CSS Z-index + skip all iframe  - 为网页增加滚到页首和页尾的按钮
  5. // @version     2014.9.21
  6. // @include     *
  7. // @exclude     http://*facebook.com*
  8. // @exclude     https://*facebook.com*
  9. // @namespace https://greasyfork.org/users/5506
  10.  
  11. // @grant       none
  12.  
  13. // ==/UserScript==
  14.  
  15. // [1] skip all iframe
  16. // Frome TopAndDownButtonsEverywhere [OpenUserJs
  17. // https://openuserjs.org/scripts/MAX30/TopAndDownButtonsEverywhere/source
  18. if (window.self!=window.top) {return}
  19. // TWEAK top button - SMALLER
  20. var a = document.createElement('span');
  21. var c = 'opacity:0.5;-moz-transition-duration:0.2s;-webkit-transition-duration:0.2s;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUBAMAAAByuXB5AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAbUExURf///6qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpshoL4AAAAIdFJOUwARM2aImczuGAB4owAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAEZJREFUGNNj6IABBgQLB2BME4CyxDoSIQymio52BTBLHaixCMRgrgCy2g2ALAuwac0MDCxQgx0YIqCsVhTbOIBUA9gUslkA7dcxR/3Xli8AAAAASUVORK5CYII=") no-repeat scroll 50% 50% rgba(197, 198, 198, 0.35);border-radius:0px 0px 0px 0px;cursor:pointer;position:fixed;bottom:50%;width:8px;height:23px;right:6px;z-index:105000';
  22. a.style.cssText = c;
  23. a.addEventListener('mouseover', function(){ a.style.opacity = 1;}, false);
  24. a.addEventListener('mouseout', function(){ a.style.opacity = 0.5; }, false);
  25. a.addEventListener('click', function(){ window.scrollTo(0,0); }, false);
  26. //a.addEventListener('click', function(){ $("html,body").animate({scrollTop:"0px"},200); }, false );
  27. document.body.appendChild(a);
  28.  
  29. //bottom button - SMALLER
  30. var newHeight = document.body.scrollHeight;
  31. var b = document.createElement('span');
  32. var d = 'opacity:0.5;-moz-transition-duration:0.2s;-webkit-transition-duration:0.2s;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUBAMAAAByuXB5AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAbUExURf///6qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpshoL4AAAAIdFJOUwARM2aImczuGAB4owAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAE1JREFUGNNjYGDg6OjoaGAAAfJZHTDAEAFltDKwQFkODAwWYEYzUCFzBZDRbgDSqw5kFYFNYaroaFcAsxjEOhIhDAbGNAEGHABhG5wFAH6qMUfw6SaOAAAAAElFTkSuQmCC") no-repeat scroll 50% 50% rgba(197, 198, 198, 0.35);border-radius:0px 0px 0px 0px;cursor:pointer;position:fixed;bottom:47%;width:8px;height:23px;right:6px;z-index:105000';//top:52%;
  33. b.style.cssText = d;
  34. b.addEventListener('mouseover', function(){ b.style.opacity = 1; }, false);
  35. b.addEventListener('mouseout', function(){ b.style.opacity = 0.5; }, false);
  36. b.addEventListener('click', function(){ window.scrollTo(0,newHeight); }, false);
  37. document.body.appendChild(b);
  38.  
  39.  
  40. var lastScrollY=0;
  41. (function gotop(){
  42.     var diffY;
  43.         diffY = document.documentElement.scrollTop+document.body.scrollTop;
  44.     percent=.1*(diffY-lastScrollY);
  45.     if(percent>0)percent=Math.ceil(percent);
  46.     else percent=Math.floor(percent);
  47.     lastScrollY=lastScrollY+percent;
  48.     if(lastScrollY>100){
  49.     a.style.display="block";b.style.display="block";
  50.     } else {
  51.         b.style.display="block";a.style.display="none";
  52.     }
  53.         setTimeout(gotop,1);
  54. })();
  55.  
  56.  
  57.  
  58.  
Add Comment
Please, Sign In to add comment