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

m
 
(48 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) {
       $('.outer-nav-box').removeClass('hide-lower')
+
       $('.navbar-lower').removeClass('hide-lower');
 
     }
 
     }
 
   } else {
 
   } else {
     $('.navbar-fixed-top').removeClass('shrink');
+
     $('.main-nav').removeClass('shrink');
     $('.outer-nav-box').addClass('hide-lower')
+
     $('.navbar-lower').addClass('hide-lower');
 
   }
 
   }
 
});
 
});
  
set lower navbar
+
var scrollLinks = {};
$('.navbar-lower').affix({
+
  offset: {top: 50}
+
});
+
  
 
// 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="#'+obj.id+'">'+obj.id.capitalize()+'</a></li>');
+
    $('.link').each(function(i, obj) {
  });
+
        $("#inner-page-links").append('<li><a href="#" class="scroll-link">'+obj.title+'</a></li>');
  if ($('#inner-page-links').children().length < 1) {
+
        scrollLinks[obj.title] = obj.id;
    $('.outer-nav-box').addClass('hide-lower')
+
    });
  }
+
    $(".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');
       }
    

    }