Created
March 21, 2014 10:21
-
-
Save robertocarroll/9683291 to your computer and use it in GitHub Desktop.
main.js ICC Alpha
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// scroll spy elements | |
var scrollspy = []; | |
jQuery(document).ready(function($){ | |
// run on page load | |
$(document).ready(function(){ | |
// top nav | |
$('.top-nav').spNav(); | |
// language | |
$('#icc-language-toggle').on('click', function(e){ | |
e.preventDefault(); | |
$(this).next('ul').toggle(); | |
}); | |
$(document).click(function(e){ | |
if(!$(e.target).is('#icc-language-toggle,#icc-language,#icc-language *')){ | |
$('#icc-language').hide(); | |
} | |
}); | |
// tabs | |
$('.wp-tabify-this-zone').wpTabs({ accordion: 960 }); | |
// slideshow | |
$('.slide-item').slides({ | |
navigation: true, | |
speed: 350, | |
delay: 12000 | |
}); | |
// carousel | |
$('.carousel-item').carousel({ | |
width: 250, | |
paging: true, | |
navigation: false | |
}); | |
// responsive behavior | |
$(window).resize(function(){ | |
screenRespond(); | |
}); | |
screenRespond(); | |
// fixed sidebars | |
$('.col-sidebar').each(function(){ | |
$(this).data('mintop', $(this).position().top); | |
}); | |
// table of contents | |
$('ul.case-toc a').each(function(i){ | |
// get position of section | |
var selector = $(this).attr('href'); | |
var t = $(selector).position().top; | |
$(selector).data('pagey', t); | |
scrollspy.push(selector); | |
// click | |
$(this).click(function(e){ | |
e.preventDefault(); | |
var meTop = $($(this).attr('href')).position().top; | |
$('#s4-workspace').animate({ | |
scrollTop: '+=' + (meTop - ($('#s4-workspace').height() / 5)) | |
}, 500); | |
}); | |
}); | |
// fixed elements | |
$('#s4-workspace').on('scroll', function(){ | |
// header | |
/* var t = $(this).scrollTop(); | |
var h = $('.header-container:eq(0)').outerHeight(); | |
var f = $('body').hasClass('fixed'); | |
if(t >= h && !f){ | |
$('body').addClass('fixed'); | |
$('#s4-workspace').before($('.utility-container:eq(0)')); | |
} | |
else if(t < h && f){ | |
$('body').removeClass('fixed'); | |
$('.header-container:eq(0)').after($('.utility-container:eq(0)')); | |
}*/ | |
// fixed sidebars | |
$('.col-sidebar').each(function(){ | |
var mt = $(this).data('mintop'); | |
if(t + h + 40 > mt){ | |
var newtop = t + h + 40 - mt; | |
var doch = $('#s4-bodyContainer').outerHeight(); | |
var footerh = $('.footer-container').outerHeight(); | |
var toch = $('.col-sidebar').outerHeight(); | |
if(newtop > doch - footerh - toch - 250){ | |
newtop = doch - footerh - toch - 250; | |
} | |
$(this).css('top', newtop + 'px'); | |
} | |
else{ | |
$(this).css('top', 'auto'); | |
} | |
}); | |
// scroll spy | |
var scrolledTo = 0; | |
var offset = $('#s4-workspace').height() / 2; | |
$.each(scrollspy, function(i, selector){ | |
if(t + offset >= $(selector).data('pagey')){ | |
scrolledTo = i; | |
} | |
else{ | |
return false; | |
} | |
}); | |
$('ul.case-toc li').removeClass('active'); | |
$('ul.case-toc li:eq(' + scrolledTo + ')').addClass('active'); | |
}); | |
}); | |
// responsive behavior | |
function screenRespond(){ | |
// small screen | |
if($(window).width() < 960){ | |
} | |
// desktop | |
else{ | |
// fixed elements | |
$('#s4-workspace').on('scroll', function(){ | |
// header | |
var t = $(this).scrollTop(); | |
var h = $('.header-container:eq(0)').outerHeight(); | |
var f = $('body').hasClass('fixed'); | |
if(t >= h && !f){ | |
$('body').addClass('fixed'); | |
$('#s4-workspace').before($('.utility-container:eq(0)')); | |
} | |
else if(t < h && f){ | |
$('body').removeClass('fixed'); | |
$('.header-container:eq(0)').after($('.utility-container:eq(0)')); | |
} | |
}); | |
} | |
} | |
}); | |
// google analytics | |
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ | |
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), | |
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) | |
})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); | |
ga('create', 'UA-47540678-1', 'sharepoint13vm.cloudapp.net'); | |
ga('send', 'pageview'); | |
// navigation | |
(function($){ | |
$.fn.spNav = function(options){ | |
// settings | |
var settings = { | |
style: 'drawer', | |
label: 'Menu', | |
speed: 250, | |
animate: function(button){ | |
$(button).next('.ui-spnav').fadeIn(settings.speed); | |
} | |
}; | |
var options = $.extend(settings, options); | |
return this.each(function(i){ | |
// menu element | |
var menu = $(this); | |
// create menu | |
if(!$(this).hasClass('ui-spnav')){ | |
// add class | |
$(menu).addClass('ui-spnav'); | |
// don't add button on static menus | |
if(settings.style != 'static'){ | |
// button element | |
var button = $('<a class="ui-menu-button" href="#"><span class="ui-icon-menu"><span class="line1" /><span class="line2" /><span class="line3" /></span><span class="ui-menu-label">' + settings.label + '</span><span class="ui-icon" /></a>'); | |
$(button).click(function(e){ | |
e.preventDefault(); | |
settings.animate($(this)); | |
$(this).children('.ui-icon').toggleClass('ui-icon-open'); | |
}); | |
// hide menu, add button | |
$(menu).hide().before(button); | |
} | |
// overlay | |
if(settings.overlay){ | |
$(menu).addClass('ui-overlay'); | |
} | |
// unclick | |
$(document).click(function(e){ | |
if(!$(e.target).is('.ui-spnav,.ui-spnav *,.ui-menu-button,.ui-menu-button *')){ | |
$('.ui-spnav:visible').fadeOut(settings.speed); | |
} | |
}); | |
} | |
}); | |
}; | |
})(jQuery); | |
/* jQuery.wpTabs v2.1, by Kyle Schaeffer */ | |
(function(a){a.fn.wpTabs=function(b){var c={accordion:false};var b=a.extend(c,b);if(a("#MSOLayout_InDesignMode").val()==0){return this.each(function(e){var d=a(this).closest(".ms-webpart-zone");a(d).addClass("wptabs");var f=a('<ul class="wptabs-nav" />');a(this).closest(".ms-webpart-zone").children(".ms-webpartzone-cell").each(function(){if(!a(this).children().eq(0).hasClass("ms-hide")){a(f).append('<li><a href="#'+a(this).attr("id")+'">'+a(this).find(".ms-webpart-titleText").text()+"</a></li>")}});a(d).prepend(f);a(d).find(".ms-webpart-cell-vertical").css("display","block");if(window.jQuery.ui){a(d).tabs()}if(c.accordion){var g=function(){if(a(window).width()<=c.accordion){if(!a(d).hasClass("wptabs-accordion")){a(d).addClass("wptabs-accordion");a(d).children(".wptabs-nav").hide();a(d).find(".wptabs-nav li a").each(function(){var h=a(this);var i=a('<h3 class="wptabs-accordion-header"><a href="'+a(h).attr("href")+'">'+a(h).text()+'<span class="ui-icon"></span></a></h3>');if(a(h).parent("li").hasClass("ui-state-active")){a(i).addClass("ui-state-active")}a(i).children("a").click(function(k){k.preventDefault();var j=a(this);a(d).find(".wptabs-accordion-header").removeClass("ui-state-active");a(i).addClass("ui-state-active");a(".ui-tabs-panel").stop(true,true);a(".ui-tabs-panel:visible:not("+a(j).attr("href")+")").slideUp(250);a(a(j).attr("href")).slideDown(250,function(){a(h).click()})});a(a(h).attr("href")).before(i)})}}else{a(d).children(".wptabs-nav").show();a(d).find(".wptabs-accordion-header").remove();a(d).removeClass("wptabs-accordion")}};a(window).resize(function(){g()});g()}})}}})(jQuery); | |
/* jQuery.slides v1.2, by Kyle Schaeffer */ | |
(function(a){a.fn.slides=function(c){var e=false;var f={effect:"pan",delay:8000,speed:250,navigation:false,paging:false};var c=a.extend(f,c);var b=function(k,m,i,j){d(k);a(k).find(".ui-slideshow-nav li").removeClass("ui-active");a(k).find(".ui-slideshow-nav li:eq("+a(i).prevAll("li").size()+")").addClass("ui-active");var g=a(m).width();var l=a(m).height();var n="-=";var o=g;if(j=="left"){n="+=";o=g*-1}a(k).css("width",g+"px").css("height",l+"px");if(f.effect=="fade"){a(m).css("z-index","1").animate({opacity:"0.75"},f.speed,function(){a(this).hide()});a(i).css("position","absolute").css("z-index","2").css("opacity","0").css("top","0px").css("left","0px").width(g).height(l).show().animate({opacity:"1"},f.speed,function(){a(this).css("position","static").css("width","auto").css("height","auto");a(k).css("width","auto").css("height","auto");var p=a(this);var h=a(p).next("li");if(a(h).size()==0){h=a(p).siblings("li").first()}e=setTimeout(function(){d(k);b(k,p,h,"right")},f.delay)})}else{a(m).css("position","absolute").css("left","0px").width(g).height(l).animate({left:n+g},f.speed,function(){a(this).hide().css("position","static").css("width","auto").css("height","auto")});a(i).css("position","absolute").css("left",o+"px").width(g).height(l).show().animate({left:n+g},f.speed,function(){a(this).css("position","static").css("width","auto").css("height","auto");a(k).css("width","auto").css("height","auto");var p=a(this);var h=a(p).next("li");if(a(h).size()==0){h=a(p).siblings("li").first()}e=setTimeout(function(){d(k);b(k,p,h,"right")},f.delay)})}};var d=function(g){clearTimeout(e);a(g).find("li").stop(true,true)};if(this.length>1&&(a("#MSOLayout_InDesignMode").val()==0||a("#MSOLayout_InDesignMode").val()=="")){return this.each(function(j){var h=a(this).parent().closest("div");if(!a(h).hasClass("ui-slideshow")){a(h).addClass("ui-slideshow");if(f.navigation){a(h).append('<ul class="ui-slideshow-nav" />')}if(f.paging){a(h).append('<ul class="ui-slideshow-paging"><li class="ui-slide-prev"><a href="#prev">Previous</a></li><li class="ui-slide-next"><a href="#next">Next</a></li></ul>');a(h).children(".ui-slideshow-paging").find(".ui-slide-prev a").click(function(m){m.preventDefault();d(h);var n=a(h).find("li:visible:eq(0)");var i=a(n).prev("li");if(a(i).size()==0){i=a(n).siblings("li").last()}b(h,n,i,"left")});a(h).children(".ui-slideshow-paging").find(".ui-slide-next a").click(function(m){m.preventDefault();d(h);var n=a(h).find("li:visible:eq(0)");var i=a(n).next("li");if(a(i).size()==0){i=a(n).siblings("li").first()}b(h,n,i,"right")})}var l=a(h).find("li:eq(0)");var k=a(h).find("li:eq(1)");e=setTimeout(function(){b(h,l,k,"right")},f.delay)}else{a(this).closest("li").hide()}if(f.navigation){var g=a('<li><a href="#'+(j+1)+'">'+(j+1)+"</a></li>");if(j==0){a(g).addClass("ui-active")}a(g).find("a").click(function(m){m.preventDefault();var n=a(h).find("li:visible:eq(0)");var i=a(h).find("li:eq("+a(this).parent().prevAll("li").size()+")");if(!a(i).is(":visible")){d(h);b(h,n,i,"right")}});a(h).children(".ui-slideshow-nav").append(g)}})}}})(jQuery); | |
/* jQuery.carousel v1.0, by Kyle Schaeffer */ | |
(function(a){a.fn.carousel=function(c){var e=false;var d=0;var g=a(this).size();var f={speed:250,width:142,navigation:false,paging:false};var c=a.extend(f,c);var b=function(i,h){a(i).stop(true,true);a(i).animate({left:(h*f.width*-1)+"px"},f.speed);a(i).siblings(".ui-carousel-nav").children("li").removeClass("ui-active");a(i).siblings(".ui-carousel-nav").children("li").eq(h+1).addClass("ui-active")};return this.each(function(l){var p=a(this).parent().closest("div");var k=a(this).closest("ul");if(!a(p).hasClass("ui-carousel")){a(p).addClass("ui-carousel");a(k).addClass("ui-carousel-wheel");a(k).css("width",a(k).children("li").size()*f.width+"px").css("left","0px");var q=a('<ul class="ui-carousel-nav" />');a(p).after(q);var o=a('<li class="ui-carousel-nav-prev"><a href="#previous"><span class="icon icon-arrow-left-thick"></span></a></li>');a(o).find("a").click(function(i){i.preventDefault();l--;if(l<0){l=g-1}b(k,l)});a(q).append(o);for(var h=0;h<g;h++){var n=a('<li class="ui-carousel-nav-page"><a href="#'+h+'">'+(h+1)+"</a></li>");a(n).find("a").click(function(i){i.preventDefault();l=parseInt(a(this).attr("href").replace("#",""));b(k,l)});if(h==0){a(n).addClass("ui-active")}a(q).append(n)}var m=a('<li class="ui-carousel-nav-next"><a href="#next"><span class="icon icon-arrow-right-thick"></span></a></li>');a(m).find("a").click(function(i){i.preventDefault();l++;if(l>=g){l=0}b(k,l)});a(q).append(m);a(p).append(q)}})}})(jQuery); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment