Advertisement
RoniElBombardero

dafp.gov.co #fucked #JavaScripts #slider by roni bombardero

May 24th, 2013
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.41 KB | None | 0 0
  1. var SLIDETIMER = 5;
  2. var SLIDESPEED = 5;
  3. var SCROLLTIMER = 1000;
  4. var SCROLLSPEED = 5;
  5. var STARTINGOPACITY = 40;
  6.  
  7. // handles section to section scrolling of the content //
  8. function slideContent(id,prefix,timer) {
  9. var div = document.getElementById(id);
  10. var slider = div.parentNode;
  11. clearInterval(slider.timer);
  12. slider.section = parseInt(id.replace(/\D/g,''));
  13. slider.target = div.offsetTop;
  14. slider.style.top = slider.style.top || '0px';
  15. slider.current = slider.style.top.replace('px','');
  16. slider.direction = (Math.abs(slider.current) > slider.target) ? 1 : -1;
  17. slider.style.opacity = STARTINGOPACITY * .01;
  18. slider.style.filter = 'alpha(opacity=' + STARTINGOPACITY + ')';
  19. slider.timer = setInterval( function() { slideAnimate(slider,prefix,timer) }, SLIDETIMER);
  20. }
  21.  
  22. function slideAnimate(slider,prefix,timer) {
  23. var curr = Math.abs(slider.current);
  24. var tar = Math.abs(slider.target);
  25. var dir = slider.direction;
  26. if((tar - curr <= SLIDESPEED && dir == -1) || (curr - tar <= SLIDESPEED && dir == 1)) {
  27. slider.style.top = (slider.target * -1) + 'px';
  28. slider.style.opacity = 1;
  29. slider.style.filter = 'alpha(opacity=100)';
  30. clearInterval(slider.timer);
  31. if(slider.autoscroll) {
  32. setTimeout( function() { autoScroll(slider.id,prefix,timer) }, timer * 1000);
  33. }
  34. } else {
  35. var pos = (dir == 1) ? parseInt(slider.current) + SLIDESPEED : slider.current - SLIDESPEED;
  36. slider.current = pos;
  37. slider.style.top = pos + 'px';
  38. }
  39. }
  40.  
  41. // handles manual scrolling of the content //
  42. function scrollContent(id,dir) {
  43. var div = document.getElementById(id);
  44. clearInterval(div.timer);
  45. var sections = div.getElementsByTagName('div');
  46. var length = sections.length;
  47. var limit;
  48. if(dir == -1) {
  49. limit = 0;
  50. } else {
  51. if(length > 1) {
  52. limit = sections[length-1].offsetTop;
  53. } else {
  54. limit = sections[length-1].offsetHeight - div.parentNode.offsetHeight + 20;
  55. }
  56. }
  57. div.style.opacity = STARTINGOPACITY * .01;
  58. div.style.filter = 'alpha(opacity=' + STARTINGOPACITY + ')';
  59. div.timer = setInterval( function() { scrollAnimate(div,dir,limit) }, SCROLLTIMER);
  60. }
  61.  
  62. function scrollAnimate(div,dir,limit) {
  63. div.style.top = div.style.top || '0px';
  64. var top = div.style.top.replace('px','');
  65. if(dir == 1) {
  66. if(limit - Math.abs(top) <= SCROLLSPEED) {
  67. cancelScroll(div.id);
  68. div.style.top = '-' + limit + 'px';
  69. } else {
  70. div.style.top = top - SCROLLSPEED + 'px';
  71. }
  72. } else {
  73. if(Math.abs(top) - limit <= SCROLLSPEED) {
  74. cancelScroll(div.id);
  75. div.style.top = limit + 'px';
  76. } else {
  77. div.style.top = parseInt(top) + SCROLLSPEED + 'px';
  78. }
  79. }
  80. }
  81.  
  82. // cancel the scrolling on mouseout //
  83. function cancelScroll(id) {
  84. var div = document.getElementById(id);
  85. div.style.opacity = 1;
  86. div.style.filter = 'alpha(opacity=100)';
  87. clearTimeout(div.timer);
  88. }
  89.  
  90. // initiate auto scrolling //
  91. function autoScroll(id,prefix,timer,restart) {
  92. var div = document.getElementById(id);
  93. div.autoscroll = (!div.autoscroll && !restart) ? false : true;
  94. if(div.autoscroll) {
  95. var sections = div.getElementsByTagName('div');
  96. var length = sections.length;
  97. div.section = (div.section && div.section < length) ? div.section + 1 : 1;
  98. slideContent(prefix + '-' + div.section,prefix,timer);
  99. }
  100. }
  101.  
  102. // cancel automatic scrolling //
  103. function cancelAutoScroll(id) {
  104. var div = document.getElementById(id);
  105. div.autoscroll = false;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement