1( function( $, document, window){ 2 3 var edsWObj = $(window); 4 $.fn.initEDSAnimateBlock = function() { 5 6 var obj = this.length > 1 ? this.eq(0) : this; 7 8 this.edsTotalRepeatCount = 1; 9 this.edsAnimateInfinite = false; 10 this.edsAnimations = []; 11 this.edsKeepValue = false; 12 this.edsScrollOffset = 0; 13 this.edsElemAnimating = false; 14 15 this.checkPosition = function() { 16 17 var windowHeight = edsWObj.height(), 18 viewportTop = $(document).scrollTop(), 19 viewportBottom = (viewportTop + windowHeight), 20 elemTop = ''; 21 22 if( obj.edsScrollOffset != null && obj.edsScrollOffset != ''){ 23 elemTop = Math.round( obj.offset().top ) + Math.round(Number(obj.edsScrollOffset) * obj.height() * 0.01), 24 elemBottom = elemTop + (obj.height()); 25 }else{ 26 elemTop = Math.round( obj.offset().top ) + Math.round(options.offset * obj.height() * 0.01), 27 elemBottom = elemTop + (obj.height()); 28 } 29 30 // Add class if in viewport 31 if ((elemTop < viewportBottom) && (elemBottom > viewportTop)){ 32 obj.edsInit(); 33 } 34 } 35 36 this.edsAnimate = function(counter, iteration) { 37 obj.removeClass('edsanimate-sis-hidden' ); 38 obj.animo( obj.edsAnimations[ counter ].animoSettings, function() { 39 counter++ 40 if( counter < obj.edsAnimations.length ) { 41 setTimeout( function(){obj.edsAnimate( counter, iteration )}, Number(obj.edsAnimations[counter].delay) * 1000); 42 } else { 43 iteration++; 44 if( true == obj.edsAnimateInfinite || iteration < obj.edsTotalRepeatCount) { 45 if(obj.edsAnimations.length == 1) { 46 obj.animo("cleanse"); 47 } 48 setTimeout( function(){obj.edsAnimate( 0, iteration )}, Number(obj.edsAnimations[0].delay) * 1000); 49 }else{ 50 obj.edsElemAnimating = false; 51 } 52 } 53 54 }); 55 }; 56 57 this.edsInit = function() { 58 setTimeout(function(){ 59 obj.css('overflow', 'hidden'); 60 }, 250); 61 if( obj.edsAnimations.length >= 1 ) { 62 setTimeout( function(){obj.edsAnimate( 0, 0 )}, Number( obj.edsAnimations[0].delay ) * 1000); 63 } 64 } 65 66 if("yes" == this.data('edsKeep') ) { 67 this.edsKeepValue = true; 68 } 69 70 if( '' != this.data('edsEntryAnimation') ) { 71 72 this.edsAnimations.push({ 73 animoSettings: { 74 animation: this.data('edsEntryAnimation'), 75 duration: this.data('edsEntryDuration'), 76 iterate: 1, 77 timing: this.data('edsEntryTiming'), 78 keep: this.edsKeepValue 79 }, 80 delay: this.data('edsEntryDelay') 81 82 }); 83 84 } 85 86 if( '' != this.data('edsExitAnimation') ) { 87 88 this.edsAnimations.push({ 89 animoSettings: { 90 animation: this.data('edsExitAnimation'), 91 duration: this.data('edsExitDuration'), 92 iterate: 1, 93 timing: this.data('edsExitTiming'), 94 keep: this.edsKeepValue 95 }, 96 delay: this.data('edsExitDelay'), 97 98 }); 99 100 } 101 102 if( "infinite" == this.data('edsRepeatCount') ) { 103 this.edsAnimateInfinite = true; 104 } else { 105 this.edsAnimateInfinite = false; 106 this.edsTotalRepeatCount = this.data('edsRepeatCount'); 107 } 108 109 if( "load" == this.data('edsAnimateOn') ) { 110 this.edsInit(); 111 } else if( "scroll" == this.data('edsAnimateOn') ) { 112 113 this.edsScrollOffset = this.data('edsScrollOffset'); 114 edsWObj.on("scroll", $.throttle( 250, this.checkPosition ) ); 115 this.checkPosition(); 116 117 } else if( "hover" == this.data('edsAnimateOn') ) { 118 this.on("mouseenter", function (){ 119 if( !obj.edsElemAnimating ){ 120 obj.animo("cleanse"); 121 obj.edsElemAnimating = true; 122 obj.edsInit(); 123 } 124 } ); 125 126 } else if( "click" == this.data('edsAnimateOn') ) { 127 this.on("click", function () { 128 if( !obj.edsElemAnimating ){ 129 obj.animo("cleanse"); 130 obj.edsElemAnimating = true; 131 obj.edsInit(); 132 } 133 } ); 134 } 135 136 }; 137 138 $(document).ready( function() { 139 140 if( $('.eds-animate').length >= 1 ){ 141 ( '1' == edsHideOverflowX ) ? $('body').css('overflow-x', 'hidden'): ''; 142 ( '1' == edsHideOverflowY ) ? $('body').css('overflow-y', 'hidden'): ''; 143 } 144 145 $('.eds-animation-paused').removeClass('eds-animation-paused'); 146 147 $('.eds-animate').each( function(){ 148 $(this).initEDSAnimateBlock(); 149 }); 150 151 } ); 152 153} )(jQuery, document, 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.