Skip to content

Instantly share code, notes, and snippets.

@pepebe
Created January 27, 2020 13:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pepebe/0ff5263fb231f5905710ff9630990a74 to your computer and use it in GitHub Desktop.
Save pepebe/0ff5263fb231f5905710ff9630990a74 to your computer and use it in GitHub Desktop.
<div class="mein-element"></div>
<div class="mein-element"></div>
<div class="mein-element"></div>
.mein-element {
opacity: 0;
transition: opacity .5s ease-in-out;
}
.visible {
opacity: 1;
}
function isElementInViewport(element) {
var rect = element.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document.documentElement.clientWidth)
);
}
var elements = document.querySelectorAll(".mein-element");
function callbackFunc() {
for (var i = 0; i < elements.length; i++) {
if (isElementInViewport(elements[i])) {
elements[i].classList.add("visible");
}
/* Else-Bedinung entfernen, um .visible nicht wieder zu löschen, wenn das Element den Viewport verlässt. */
else {
elements[i].classList.remove("visible");
}
}
}
window.addEventListener("load", callbackFunc);
window.addEventListener("scroll", callbackFunc);
.mein-element {
background:red;
height:50vh;
max-width: 500px;
margin:0 auto;
margin-bottom:2em;
}
.visible {
background: lime;
}
Elemente beim Sc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment