Difference between revisions of "Template:Waterloo/JS/header.js"

m
 
(63 intermediate revisions by 2 users not shown)
Line 4: Line 4:
 
$(window).scroll(function() {
 
$(window).scroll(function() {
 
   if ($(document).scrollTop() > 50) {
 
   if ($(document).scrollTop() > 50) {
     $('.navbar-fixed-top').addClass('shrink');
+
     $('.main-nav').addClass('shrink');
 
     if ($('#inner-page-links').children().length > 0) {
 
     if ($('#inner-page-links').children().length > 0) {
       $('.navbar-lower').removeClass('hide-lower')
+
       $('.navbar-lower').removeClass('hide-lower');
 
     }
 
     }
 
   } else {
 
   } else {
     $('.navbar-fixed-top').removeClass('shrink');
+
     $('.main-nav').removeClass('shrink');
     $('.navbar-lower').addClass('hide-lower')
+
     $('.navbar-lower').addClass('hide-lower');
 
   }
 
   }
 
});
 
});
  
// set lower navbar
+
var scrollLinks = {};
$('.navbar-lower').affix({
+
  offset: {top: 200}
+
});
+
  
 
// fills in lower nav with inner page links
 
// fills in lower nav with inner page links
 
$(document).ready(function(){
 
$(document).ready(function(){
  $('.link').each(function(i, obj) {
+
    $('.accordion-heading').addClass('link');
    $("#inner-page-links").append('<li><a href="#'+obj.id+'">'+obj.id+'</a></li>');
+
    $('section').addClass('link');
  });
+
    $('.link').each(function(i, obj) {
  if ($('#inner-page-links').children().length < 1) {
+
        $("#inner-page-links").append('<li><a href="#" class="scroll-link">'+obj.title+'</a></li>');
    $('.navbar-lower').addClass('hide-lower')
+
        scrollLinks[obj.title] = obj.id;
  }
+
    });
 +
    $(".scroll-link").each(function(i, obj) {
 +
        $(obj).click(function() {
 +
            scrollToAnchor(scrollLinks[obj.text]);
 +
        });
 +
    });
 +
    if ($('#inner-page-links').children().length < 1) {
 +
        $('.navbar-lower').addClass('hide-lower');
 +
    }
 
});
 
});
  
 
// for smooth scrolling
 
// for smooth scrolling
$(function() {
+
function scrollToAnchor(aid){
  $('a[href*=#]:not([href=#])').click(function() {
+
     var aTag = $('#'+aid);
     if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
+
    if(aTag.length){
      var target = $(this.hash);
+
      $('html, body').animate({scrollTop:$(aTag).position().top}, 'slow');
      target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
+
      if (target.length) {
+
        $('html,body').animate({
+
          scrollTop: target.offset().top
+
        }, 500);
+
        return false;
+
      }
+
 
     }
 
     }
  });
+
}
});
+

Latest revision as of 23:38, 26 August 2015

// scripts for header

// detects scroll for top resizing and lower nav show $(window).scroll(function() {

 if ($(document).scrollTop() > 50) {
   $('.main-nav').addClass('shrink');
   if ($('#inner-page-links').children().length > 0) {
     $('.navbar-lower').removeClass('hide-lower');
   }
 } else {
   $('.main-nav').removeClass('shrink');
   $('.navbar-lower').addClass('hide-lower');
 }

});

var scrollLinks = {};

// fills in lower nav with inner page links $(document).ready(function(){

   $('.accordion-heading').addClass('link');
   $('section').addClass('link');
   $('.link').each(function(i, obj) {
$("#inner-page-links").append('
  • <a href="#" class="scroll-link">'+obj.title+'</a>
  • ');
           scrollLinks[obj.title] = obj.id;
       });
       $(".scroll-link").each(function(i, obj) {
           $(obj).click(function() {
               scrollToAnchor(scrollLinks[obj.text]);
           });
       });
       if ($('#inner-page-links').children().length < 1) {
           $('.navbar-lower').addClass('hide-lower');
       }
    

    });

    // for smooth scrolling function scrollToAnchor(aid){

       var aTag = $('#'+aid);
       if(aTag.length){
         $('html, body').animate({scrollTop:$(aTag).position().top}, 'slow');
       }
    

    }