Sha256: 4c9c1e7d7dc5faf6439b4719693b00adce1b612a206b9f11977dfc8a8d7b0ea0

Contents?: true

Size: 1.29 KB

Versions: 19

Compression:

Stored size: 1.29 KB

Contents

Setup.scroll = () => {
  // Select all links with hashes
  $('a[href*="#"]')
    // Remove links that don't actually link to anything
    .not('[href="#"]')
    .not('[href="#0"]')
    .click(function(event) {
      // On-page links
      if (
        location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
        &&
        location.hostname == this.hostname
      ) {
        // Figure out element to scroll to
        var target = $(this.hash);
        target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
        // Does a scroll target exist?
        if (target.length) {
          // Only prevent default if animation is actually gonna happen
          event.preventDefault();
          $('html, body').animate({
            scrollTop: target.offset().top
          }, 500, function() {
            // Callback after animation
            // Must change focus!
            var $target = $(target);
            $target.focus();
            if ($target.is(":focus")) { // Checking if the target was focused
              return false;
            } else {
              $target.attr('tabindex','-1'); // Adding tabindex for elements not focusable
              $target.focus(); // Set focus again
            };
          });
        }
      }
    }
  );
}

$(Setup.scroll());

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
futuro-1.1.8 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.1.7 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.1.6 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.1.5 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.1.4 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.1.3 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.1.2 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.1.1 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.1.0 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.0.9 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.0.8 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.0.7 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.0.6 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.0.5 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.0.4 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.0.3 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.0.2 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.0.1 assets/js/footer/custom/4_Setup.scroll.js
futuro-1.0.0 assets/js/footer/custom/4_Setup.scroll.js