Home / Disable / Elegant Fade In-Out
Duplicate Snippet

Embed Snippet on Your Site

Elegant Fade In-Out

Hide all elements until they Visible in the Viewport

Code Preview
html
<script>
  document.addEventListener("DOMContentLoaded", function(event) {
    jQuery(window).scroll(function() {
      jQuery(".elementor-widget:not(.disable-fade-in)").each(function(index) {
        let topOfElement = jQuery(this).offset().top;
        let bottomOfElement = jQuery(this).offset().top + jQuery(this).outerHeight();
        let bottomOfScreen = jQuery(window).scrollTop() + jQuery(window).innerHeight();
        let topOfScreen = jQuery(window).scrollTop();
        let offset = 50;
        if (window.matchMedia("only screen and (max-width: 767px)").matches) {
          offset = 0;
        }
        if ((bottomOfScreen > topOfElement + offset) && (topOfScreen < bottomOfElement)) {
          jQuery(this).addClass('show');
        } else {
          jQuery(this).removeClass('show');
        }
      });
    }).scroll();
  });
</script>
<style>
/* Elegant Fade In-Out - Hide all elements until they Visible in the Viewport */
.elementor-widget:not(.disable-fade-in) {
    opacity: 0;
    transition-property: opacity, transform;
    transform: translate3d(0, 34px, 0);
    transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
    transition-duration: 0.5s;
}
/* Elegant Fade In-Out - Show */
.elementor-widget.show, .e-preview--show-hidden-elements .elementor-widget, .elementor-editor-active .elementor-widget, .elementor-location-floating_buttons .elementor-widget, .e-con.disable-fade-in .elementor-widget {
    opacity: 1;
    transform: none;
}
.elementor-element:where(:not(.e-con)):where(:not(.e-div-block-base)) .elementor-widget-container, .elementor-element:where(:not(.e-con)):where(:not(.e-div-block-base)):not(:has(.elementor-widget-container)) {
transition: background .3s,border .3s,border-radius .3s,box-shadow .3s,transform var(--e-transform-transition-duration,.4s);
}
@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translate3d(0, -30px, 0);
    }
    to {
        opacity: 1;
        transform: none;
    }
}
.elementor-element.fadeInDown {
    animation-name: fadeDown;
}
@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translate3d(-30px, 0, 0);
    }
    to {
        opacity: 1;
        transform: none;
    }
}
.elementor-element.fadeInLeft {
    animation-name: fadeLeft;
}
@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translate3d(30px, 0, 0);
    }
    to {
        opacity: 1;
        transform: none;
    }
}
.elementor-element.fadeInRight {
    animation-name: fadeRight;
}
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translate3d(0, 30px, 0);
    }
    to {
        opacity: 1;
        transform: none;
    }
}
.elementor-element.fadeInUp {
    animation-name: fadeUp;
}
</style>

Comments

Add a Comment