Browse code

Tweak and fix reversible animation possibility

Benjamin Roth authored on15/03/2021 10:46:19
Showing1 changed files
... ...
@@ -67,15 +67,21 @@
67 67
           elements[i].style.transitionDelay = delay + 'ms';
68 68
           delay = delay + 125;
69 69
         }
70
-        elements[i].classList.add("-in-view");
70
+        if (hasDelay !== 2 && (!Element.prototype.closest || (elements[i].classList.contains('-reverse') || elements[i].closest('.is-animated').classList.contains('-reverse'))))
71
+        {
72
+          elements[i].classList.add("-in-view");
73
+        }
71 74
       }
72 75
 
73 76
       /* Else-Bedinung entfernen, um .visible nicht wieder zu löschen, wenn das Element den Viewport verlässt. */
74 77
       else
75 78
       {
76
-        if (Element.prototype.closest && (elements[i].classList.contains('-reverse') || elements[i].closest('.is-animated').classList.contains('-reverse')))
79
+        if (Element.prototype.closest && elements[i].classList.contains('-in-view') === true && (hasDelay = isElementInViewport(elements[i])) && (elements[i].classList.contains('-reverse') || elements[i].closest('.is-animated').classList.contains('-reverse')))
77 80
         {
78
-          elements[i].classList.remove("-in-view");
81
+          if (hasDelay === 2)
82
+          {
83
+            elements[i].classList.remove("-in-view");
84
+          }
79 85
         }
80 86
       }
81 87
     }