1/** 2 * modalEffects.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 */ 11var ModalEffects = (function() { 12 'use strict'; 13 function init() { 14 15 var overlay = document.querySelector( '.md-overlay' ); 16 17 [].slice.call( document.querySelectorAll( '.md-trigger' ) ).forEach( function( el, i ) { 18 19 var modal = document.querySelector( '#' + el.getAttribute( 'data-modal' ) ), 20 close = modal.querySelector( '.md-close' ); 21 22 modal.loaded=false; 23 24 function removeModal( hasPerspective ) { 25 classie.remove( modal, 'md-show' ); 26 27 if( hasPerspective ) { 28 classie.remove( document.documentElement, 'md-perspective' ); 29 } 30 } 31 32 function removeModalHandler() { 33 removeModal( classie.has( el, 'md-setperspective' ) ); 34 } 35 36 el.addEventListener( 'click', function( ev ) { 37 38 if(!jQuery('.modal_preloader').length){ 39 jQuery('body').prepend("<div class='modal_preloader'><div class='modal_spinner-container'><div class='modal_loader'></div></div></div>"); 40 } 41 42 43 if(!modal.loaded){ 44 jQuery('.modal_loader').fadeIn('slow'); 45 jQuery('.modal_preloader').delay(350).fadeIn('slow'); 46 47 if(jQuery('img',modal).length){ 48 49 var all=jQuery('img',modal).length,elDone=1; 50 51 var timeout = null; 52 53 jQuery('img',modal).each(function(i,e){ 54 55 var im = jQuery(this).attr('rel'), 56 img = new Image(); 57 jQuery(this).attr('src',im); 58 img.src = im; 59 img.onload = function() { 60 if (img.complete) { 61 jQuery('.modal_preloader').fadeOut('slow',function(){ 62 modal.loaded=true; 63 classie.add( modal, 'md-show' ); 64 }); 65 66 } 67 elDone=elDone+1; 68 }; 69 70 if(all=elDone){ 71 //modal.loaded=true; 72 //classie.add( modal, 'md-show' ); 73 } 74 }); 75 76 } 77 else{ 78 modal.loaded=true; 79 } 80 } 81 82 if(modal.loaded){ 83 classie.add( modal, 'md-show' ); 84 } 85 86 overlay.removeEventListener( 'click', removeModalHandler ); 87 overlay.addEventListener( 'click', removeModalHandler ); 88 89 if( classie.has( el, 'md-setperspective' ) ) { 90 setTimeout( function() { 91 classie.add( document.documentElement, 'md-perspective' ); 92 }, 25 ); 93 } 94 }); 95 96 close.addEventListener( 'click', function( ev ) { 97 ev.stopPropagation(); 98 removeModalHandler(); 99 }); 100 101 } ); 102 103 } 104 105 init(); 106 107})();
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.