Difference between revisions of "Template:Groningen"

Line 45: Line 45:
  
 
/// Smooth Scroll: ///
 
/// Smooth Scroll: ///
// Select all links with hashes
+
$('a[href*=#]:not([href=#])').click(function() {
$('a[href*="#"]')
+
     if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')  
  // Remove links that don't actually link to anything
+
        || location.hostname == this.hostname) {
  .not('[href="#"]')
+
 
  .not('[href="#0"]')
+
        var target = $(this.hash);
  .click(function(event) {
+
        target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
    // On-page links
+
          if (target.length) {
     if (
+
            $('html,body').animate({
      location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')  
+
                scrollTop: target.offset().top
      &&
+
            }, 1000);
      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
+
        }, 1000, function() {
+
          // Callback after animation
+
          // Must change focus!
+
          var $target = $(target);
+
          $target.focus();
+
          if ($target.is(":focus")) { // Checking if the target was focused
+
 
             return false;
 
             return false;
          } else {
+
         }
            $target.attr('tabindex','-1'); // Adding tabindex for elements not focusable
+
            $target.focus(); // Set focus again
+
          };
+
         });
+
      }
+
 
     }
 
     }
  });
+
});
 
/// End smoothscroll //
 
/// End smoothscroll //
  

Revision as of 14:57, 15 October 2018