Advertisement
Guest User

Scrolling

a guest
Jun 12th, 2010
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <script type='text/javascript'>
  2. <!--
  3. // Parameter
  4. var sense1 = 30; // Scroll zone 1 (in %)
  5. var sense2 = 15; // Scroll zone 2 (in %)
  6. var speed1 = 5; // Scrollspeed in Zone 1
  7. var speed2 = 20; // Scrollspeed in Zone 2
  8. var stime = 10; // Timer for Scrolling
  9.  
  10. // Internal Variables
  11. var scrolling = false;
  12. var scrollfast;
  13. var richtung;
  14. var y_mem = -1;
  15. var myWin;
  16.  
  17. // Stop Scrolling
  18. function stopp_scrolling()
  19. {
  20. scrolling = false;
  21. y_mem = -1;
  22. }
  23.  
  24. // Scroll aktivate and initial
  25. function start_scrolling(initial)
  26. {
  27. if(!scrolling)
  28. return;
  29.  
  30. // Determine Position
  31. var dy = (myWin.pageYOffset != null) ? myWin.pageYOffset : myWin.document.body.scrollTop;
  32. if((y_mem != dy) && !initial)
  33. return;
  34. var dx = (myWin.pageXOffset != null) ? myWin.pageXOffset : myWin.document.body.scrollLeft;
  35. dx += richtung * (scrollfast ? speed2 : speed1);
  36.  
  37. // Scroll
  38. myWin.scrollTo(dx, dy);
  39. y_mem = dy;
  40.  
  41. // Initial function again
  42. setTimeout("start_scrolling(false)", stime);
  43. }
  44.  
  45. // Analysis of Mouse Position
  46. function zeige(e)
  47. {
  48. // Mouse Position and Document Data
  49. var y = myWin.Event ? e.pageX : myWin.event.clientX;
  50. if(myWin.Event)
  51. y -= - (myWin.pageXOffset != null) ? myWin.pageXOffset : myWin.document.body.scrollTop;
  52. var wh = myWin.innerWidth ? myWin.innerWidth : myWin.document.body.clientWidth;
  53. var dh = myWin.document.height ? myWin.document.height : myWin.document.body.scrollHeight;
  54.  
  55. // Variables
  56. var s1 = Math.round(wh * sense1 / 100);
  57. var s2 = Math.round(wh * sense2 / 100);
  58. var now_scroll;
  59.  
  60. // Determine necessity to Scroll
  61. if((y < s1) || (y > (wh - s1)))
  62. {
  63. now_scroll = true;
  64. richtung = (y < s1) ? -1 : 1;
  65. scrollfast = ((y < s2) || (y > (wh - s2))) ? true : false;
  66. }
  67. else
  68. {
  69. now_scroll = false;
  70. scrolling = false;
  71. }
  72.  
  73. // Scroll Status changed?
  74. if(now_scroll != scrolling)
  75. {
  76. y_mem = -1;
  77. scrolling = now_scroll;
  78. if(scrolling)
  79. start_scrolling(true);
  80. }
  81. }
  82.  
  83. // Initiate Mouse Control
  84. function init()
  85. {
  86. myWin = window;
  87.  
  88. if(myWin.Event)
  89. myWin.document.captureEvents(Event.MOUSEMOVE);
  90.  
  91. myWin.document.onmousemove = zeige;
  92. }
  93. if(window.focus) window.focus();
  94. document.onblur = stopp_scrolling();
  95. //-->
  96.  
  97. window.onload=init;
  98. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement