Guest User

Untitled

a guest
Jul 22nd, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. var timerlen = 5;
  2. var slideAniLen = 250;
  3.  
  4. var timerID = new Array();
  5. var startTime = new Array();
  6. var obj = new Array();
  7. var endHeight = new Array();
  8. var moving = new Array();
  9. var dir = new Array();
  10.  
  11. function slidedown(objname){
  12. if(moving[objname])
  13. return;
  14.  
  15. if(document.getElementById(objname).style.display != "none")
  16. return; // cannot slide down something that is already visible
  17.  
  18. moving[objname] = true;
  19. dir[objname] = "down";
  20. startslide(objname);
  21. }
  22.  
  23. function slideup(objname){
  24. if(moving[objname])
  25. return;
  26.  
  27. if(document.getElementById(objname).style.display == "none")
  28. return; // cannot slide up something that is already hidden
  29.  
  30. moving[objname] = true;
  31. dir[objname] = "up";
  32. startslide(objname);
  33. }
  34.  
  35. function toggleSlide(objname){
  36. if(document.getElementById(objname).style.display == "none"){
  37. // div is hidden, so let's slide down
  38. slidedown(objname);
  39. }else{
  40. // div is not hidden, so slide up
  41. slideup(objname);
  42. }
  43. }
  44.  
  45. function startslide(objname){
  46. obj[objname] = document.getElementById(objname);
  47.  
  48. endHeight[objname] = parseInt(obj[objname].style.height);
  49. startTime[objname] = (new Date()).getTime();
  50.  
  51. if(dir[objname] == "down"){
  52. obj[objname].style.height = "1px";
  53. }
  54.  
  55. obj[objname].style.display = "block";
  56.  
  57. timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);
  58. }
  59.  
  60. function slidetick(objname){
  61. var elapsed = (new Date()).getTime() - startTime[objname];
  62.  
  63. if (elapsed > slideAniLen)
  64. endSlide(objname)
  65. else {
  66. var d =Math.round(elapsed / slideAniLen * endHeight[objname]);
  67. if(dir[objname] == "up")
  68. d = endHeight[objname] - d;
  69.  
  70. obj[objname].style.height = d + "px";
  71. }
  72.  
  73. return;
  74. }
  75.  
  76. function endSlide(objname){
  77. clearInterval(timerID[objname]);
  78.  
  79. if(dir[objname] == "up")
  80. obj[objname].style.display = "none";
  81.  
  82. obj[objname].style.height = endHeight[objname] + "px";
  83.  
  84. delete(moving[objname]);
  85. delete(timerID[objname]);
  86. delete(startTime[objname]);
  87. delete(endHeight[objname]);
  88. delete(obj[objname]);
  89. delete(dir[objname]);
  90.  
  91. return;
  92. }
Add Comment
Please, Sign In to add comment