06.26c23v2 Fade in Text v2

<!-- 06.26c23v2 Fade In Scroll Up Text -->
<script>
window.FadeInTextConfig = {
  selector: '#scrollup-text .sqs-html-content',
  distance: 30,
  duration: 1100,
  easing: 'cubic-bezier(0.22, 1, 0.36, 1)',
  delay: 0,
  threshold: 0.2,
  once: true
};
</script>

<script>
(function () {
  var cfg = window.FadeInTextConfig;
  if (!cfg) return;

  if (!document.getElementById('fadein-text-style')) {
    var style = document.createElement('style');
    style.id = 'fadein-text-style';
    style.textContent =
      cfg.selector + '{opacity:0;transform:translateY(' + cfg.distance + 'px);' +
      'transition:opacity ' + cfg.duration + 'ms ' + cfg.easing + ' ' + cfg.delay + 'ms,' +
      'transform ' + cfg.duration + 'ms ' + cfg.easing + ' ' + cfg.delay + 'ms;}' +
      cfg.selector + '.fit-in{opacity:1;transform:translateY(0);}';
    document.head.appendChild(style);
  }

  function init() {
    var els = document.querySelectorAll(cfg.selector);
    if (!els.length) return;

    var io = new IntersectionObserver(function (entries) {
      entries.forEach(function (entry) {
        if (entry.isIntersecting) {
          entry.target.classList.add('fit-in');
          if (cfg.once) io.unobserve(entry.target);
        } else if (!cfg.once) {
          entry.target.classList.remove('fit-in');
        }
      });
    }, { threshold: cfg.threshold });

    els.forEach(function (el) {
      if (el.dataset.fitInit) return;
      el.dataset.fitInit = '1';
      io.observe(el);
    });
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }
  window.addEventListener('load', init);
  window.addEventListener('mercury:load', init);
})();
</script>

 

Buy me a coffee