Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. function isVisible(el){
  2. var height = el.offsetHeight;
  3. var elementTop = el.offsetTop;
  4. var elementMiddle = el.offsetTop + height/2;
  5.  
  6. // 1/3 down from top
  7. var topBound = elementTop;
  8. var bottomBound = elementTop + height;
  9.  
  10. var doc = document.documentElement;
  11. var windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);
  12. var windowBottom = windowTop + window.innerHeight;
  13.  
  14. // Bottom of viewport is within bottom 2/3 of element
  15. if (windowBottom < bottomBound && windowBottom > topBound + (height / 3)){
  16. return true;
  17. // Top is within to 2/3 of element
  18. } else if (windowTop < bottomBound - (height / 3) && windowTop > topBound) {
  19. return true;
  20. // Center of element is between top and bottom of viewport
  21. } else if (windowTop < elementMiddle && windowBottom > elementMiddle) {
  22. return true;
  23. } else {
  24. return false;
  25. }
  26. }
  27.  
  28. function checkAnimations(){
  29. var popups = document.getElementsByClassName('popup-module');
  30. for(var i = 0; i < popups.length; i++){
  31. if(isVisible(popups[i])){
  32. popups[i].classList.add("popup");
  33. popups[i].classList.remove("popup-module");
  34. }
  35. }
  36. var slideups = document.getElementsByClassName('slideup-module');
  37. for(var i = 0; i < slideups.length; i++){
  38. if(isVisible(slideups[i])){
  39. slideups[i].classList.add("slideup");
  40. slideups[i].classList.remove("slideup-module");
  41. }
  42. }
  43. var sliderights = document.getElementsByClassName('slideright-module');
  44. for(var i = 0; i < sliderights.length; i++){
  45. if(isVisible(sliderights[i])){
  46. sliderights[i].classList.add("slideright");
  47. sliderights[i].classList.remove("slideright-module");
  48. }
  49. }
  50. var slidelefts = document.getElementsByClassName('slideleft-module');
  51. for(var i = 0; i < slidelefts.length; i++){
  52. if(isVisible(slidelefts[i])){
  53. slidelefts[i].classList.add("slideleft");
  54. slidelefts[i].classList.remove("slideleft-module");
  55. }
  56. }
  57. }
  58.  
  59. window.onscroll = () => {
  60. checkAnimations();
  61. };
  62. checkAnimations();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement