1/*! 2 * classie - class helper functions 3 * from bonzo https://github.com/ded/bonzo 4 * 5 * classie.has( elem, 'my-class' ) -> true/false 6 * classie.add( elem, 'my-new-class' ) 7 * classie.remove( elem, 'my-unwanted-class' ) 8 * classie.toggle( elem, 'my-class' ) 9 */ 10 11/*jshint browser: true, strict: true, undef: true */ 12/*global define: false */ 13 14( function( window ) { 15 16'use strict'; 17 18// class helper functions from bonzo https://github.com/ded/bonzo 19 20function classReg( className ) { 21 return new RegExp("(^|\\s+)" + className + "(\\s+|$)"); 22} 23 24// classList support for class management 25// altho to be fair, the api sucks because it won't accept multiple classes at once 26var hasClass, addClass, removeClass; 27 28if ( 'classList' in document.documentElement ) { 29 hasClass = function( elem, c ) { 30 return elem.classList.contains( c ); 31 }; 32 addClass = function( elem, c ) { 33 elem.classList.add( c ); 34 }; 35 removeClass = function( elem, c ) { 36 elem.classList.remove( c ); 37 }; 38} 39else { 40 hasClass = function( elem, c ) { 41 return classReg( c ).test( elem.className ); 42 }; 43 addClass = function( elem, c ) { 44 if ( !hasClass( elem, c ) ) { 45 elem.className = elem.className + ' ' + c; 46 } 47 }; 48 removeClass = function( elem, c ) { 49 elem.className = elem.className.replace( classReg( c ), ' ' ); 50 }; 51} 52 53function toggleClass( elem, c ) { 54 var fn = hasClass( elem, c ) ? removeClass : addClass; 55 fn( elem, c ); 56} 57 58var classie = { 59 // full names 60 hasClass: hasClass, 61 addClass: addClass, 62 removeClass: removeClass, 63 toggleClass: toggleClass, 64 // short names 65 has: hasClass, 66 add: addClass, 67 remove: removeClass, 68 toggle: toggleClass 69}; 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 80})( window );
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.