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

m
 
(26 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
// scripts for header
 
// scripts for header
 
// for capitalizing id
 
String.prototype.capitalize = function() {
 
    return this.charAt(0).toUpperCase() + this.slice(1);
 
}
 
  
 
// detects scroll for top resizing and lower nav show
 
// detects scroll for top resizing and lower nav show
 
$(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');
 
   }
 
   }
 
});
 
});
 +
 +
var scrollLinks = {};
  
 
// fills in lower nav with inner page links
 
// fills in lower nav with inner page links
 
$(document).ready(function(){
 
$(document).ready(function(){
  $('.accordion-heading').addClass('link');
+
    $('.accordion-heading').addClass('link');
  $('.link').each(function(i, obj) {
+
    $('section').addClass('link');
    $("#inner-page-links").append('<li><a href="#" class="scroll-link">'+obj.id.capitalize()+'</a></li>');
+
    $('.link').each(function(i, obj) {
  });
+
        $("#inner-page-links").append('<li><a href="#" class="scroll-link">'+obj.title+'</a></li>');
  // $(".scroll-link").each(function(i, obj) {
+
        scrollLinks[obj.title] = obj.id;
  //  $(obj).click(function() {
+
    });
  //    scrollToAnchor(obj.content);
+
    $(".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')
+
    });
  }
+
    if ($('#inner-page-links').children().length < 1) {
});
+
        $('.navbar-lower').addClass('hide-lower');
 
+
     }
$('li.scroll-link').delegate('a','click',function(obj) {
+
     scrollToAnchor(obj.content);
+
 
});
 
});
  
Line 42: Line 37:
 
function scrollToAnchor(aid){
 
function scrollToAnchor(aid){
 
     var aTag = $('#'+aid);
 
     var aTag = $('#'+aid);
     if(aTag.length){
+
     if(aTag.length){
 
       $('html, body').animate({scrollTop:$(aTag).position().top}, 'slow');
 
       $('html, body').animate({scrollTop:$(aTag).position().top}, 'slow');
 
     }
 
     }
 
}
 
}

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');
       }
    

    }