PageSourceSearch

https://nativeads.com/js/toucheffects.js

js nativeads.com collected 2026-09-24 11:19:22 UTC 2,104 bytes, 81 lines download raw bytes

1/** Used Only For Touch Devices **/
2( function( window ) {
3	
4	// for touch devices: add class cs-hover to the figures when touching the items
5	if( Modernizr.touch ) {
6
7		// classie.js https://github.com/desandro/classie/blob/master/classie.js
8		// class helper functions from bonzo https://github.com/ded/bonzo
9
10		function classReg( className ) {
11			return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
12		}
13
14		// classList support for class management
15		// altho to be fair, the api sucks because it won't accept multiple classes at once
16		var hasClass, addClass, removeClass;
17
18		if ( 'classList' in document.documentElement ) {
19			hasClass = function( elem, c ) {
20				return elem.classList.contains( c );
21			};
22			addClass = function( elem, c ) {
23				elem.classList.add( c );
24			};
25			removeClass = function( elem, c ) {
26				elem.classList.remove( c );
27			};
28		}
29		else {
30			hasClass = function( elem, c ) {
31				return classReg( c ).test( elem.className );
32			};
33			addClass = function( elem, c ) {
34				if ( !hasClass( elem, c ) ) {
35						elem.className = elem.className + ' ' + c;
36				}
37			};
38			removeClass = function( elem, c ) {
39				elem.className = elem.className.replace( classReg( c ), ' ' );
40			};
41		}
42
43		function toggleClass( elem, c ) {
44			var fn = hasClass( elem, c ) ? removeClass : addClass;
45			fn( elem, c );
46		}
47
48		var classie = {
49			// full names
50			hasClass: hasClass,
51			addClass: addClass,
52			removeClass: removeClass,
53			toggleClass: toggleClass,
54			// short names
55			has: hasClass,
56			add: addClass,
57			remove: removeClass,
58			toggle: toggleClass
59		};
60
61		// transport
62		if ( typeof define === 'function' && define.amd ) {
63			// AMD
64			define( classie );
65		} else {
66			// browser global
67			window.classie = classie;
68		}
69
70		[].slice.call( document.querySelectorAll( 'ul.grid > li > figure' ) ).forEach( function( el, i ) {
71			el.querySelector( 'figcaption > a' ).addEventListener( 'touchstart', function(e) {
72				e.stopPropagation();
73			}, false );
74			el.addEventListener( 'touchstart', function(e) {
75				classie.toggle( this, 'cs-hover' );
76			}, false );
77		} );
78
79	}
80
81})( 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.