1/** 2 * cbpAnimatedHeader.js v1.0.0 3 * http://www.codrops.com 4 * 5 * Licensed under the MIT license. 6 * http://www.opensource.org/licenses/mit-license.php 7 * 8 * Copyright 2013, Codrops 9 * http://www.codrops.com 10 */ 11/*! 12 * classie - class helper functions 13 * from bonzo https://github.com/ded/bonzo 14 * 15 * classie.has( elem, 'my-class' ) -> true/false 16 * classie.add( elem, 'my-new-class' ) 17 * classie.remove( elem, 'my-unwanted-class' ) 18 * classie.toggle( elem, 'my-class' ) 19 */ 20/*jshint browser: true, strict: true, undef: true */ 21/*global define: false */ 22( function( window ) { 23'use strict'; 24// class helper functions from bonzo https://github.com/ded/bonzo 25function classReg( className ) { 26 return new RegExp("(^|\\s+)" + className + "(\\s+|$)"); 27} 28// classList support for class management 29// altho to be fair, the api sucks because it won't accept multiple classes at once 30var hasClass, addClass, removeClass; 31if ( 'classList' in document.documentElement ) { 32 hasClass = function( elem, c ) { 33 return elem.classList.contains( c ); 34 }; 35 addClass = function( elem, c ) { 36 elem.classList.add( c ); 37 }; 38 removeClass = function( elem, c ) { 39 elem.classList.remove( c ); 40 }; 41} 42else { 43 hasClass = function( elem, c ) { 44 return classReg( c ).test( elem.className ); 45 }; 46 addClass = function( elem, c ) { 47 if ( !hasClass( elem, c ) ) { 48 elem.className = elem.className + ' ' + c; 49 } 50 }; 51 removeClass = function( elem, c ) { 52 elem.className = elem.className.replace( classReg( c ), ' ' ); 53 }; 54} 55function toggleClass( elem, c ) { 56 var fn = hasClass( elem, c ) ? removeClass : addClass; 57 fn( elem, c ); 58} 59var classie = { 60 // full names 61 hasClass: hasClass, 62 addClass: addClass, 63 removeClass: removeClass, 64 toggleClass: toggleClass, 65 // short names 66 has: hasClass, 67 add: addClass, 68 remove: removeClass, 69 toggle: toggleClass 70}; 71// transport 72if ( typeof define === 'function' && define.amd ) { 73 // AMD 74 define( classie ); 75} else { 76 // browser global 77 window.classie = classie; 78} 79})( window ); 80var cbpAnimatedHeader = (function() { 81 var docElem = document.documentElement, 82 header = document.querySelector( '#header' ), 83 didScroll = false, 84 changeHeaderOn = 250; 85 var headerHt = jQuery('#header').outerHeight(true); 86 function init() { 87 window.addEventListener( 'scroll', function( event ) { 88 if( !didScroll ) { 89 didScroll = true; 90 setTimeout( scrollPage, 0 ); 91 } 92 }, false ); 93 } 94 function scrollPage() { 95 var sy = scrollY(); 96 if ( sy >= changeHeaderOn ) { 97 jQuery('.header-clone').css('height',headerHt); 98 if(!jQuery('#header').hasClass('skehead-headernav-shrink')) { 99 jQuery('#header').hide().addClass('skehead-headernav-shrink'); 100 } 101 if(sy > 200) { 102 jQuery('#header').fadeIn(); 103 } 104 if(jQuery('#wpadminbar').length!==0){ 105 jQuery('.skehead-headernav-shrink').css('top','32px'); 106 } 107 } 108 else { 109 jQuery('.header-clone').css('height','0'); 110 classie.remove( header, 'skehead-headernav-shrink'); 111 jQuery('#header').show(); 112 jQuery('.skehead-headernav').css('top','0px'); 113 } 114 didScroll = false; 115 } 116 function scrollY() { 117 return window.pageYOffset || docElem.scrollTop; 118 } 119 init(); 120})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.