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 if( obj.edsAnimations.length >= 1 ) { 59 setTimeout( function(){obj.edsAnimate( 0, 0 )}, Number( obj.edsAnimations[0].delay ) * 1000); 60 } 61 } 62 63 if("yes" == this.data('edsKeep') ) { 64 this.edsKeepValue = true; 65 } 66 67 if( '' != this.data('edsEntryAnimation') ) { 68 69 this.edsAnimations.push({ 70 animoSettings: { 71 animation: this.data('edsEntryAnimation'), 72 duration: this.data('edsEntryDuration'), 73 iterate: 1, 74 timing: this.data('edsEntryTiming'), 75 keep: this.edsKeepValue 76 }, 77 delay: this.data('edsEntryDelay') 78 79 }); 80 81 } 82 83 if( '' != this.data('edsExitAnimation') ) { 84 85 this.edsAnimations.push({ 86 animoSettings: { 87 animation: this.data('edsExitAnimation'), 88 duration: this.data('edsExitDuration'), 89 iterate: 1, 90 timing: this.data('edsExitTiming'), 91 keep: this.edsKeepValue 92 }, 93 delay: this.data('edsExitDelay'), 94 95 }); 96 97 } 98 99 if( "infinite" == this.data('edsRepeatCount') ) { 100 this.edsAnimateInfinite = true; 101 } else { 102 this.edsAnimateInfinite = false; 103 this.edsTotalRepeatCount = this.data('edsRepeatCount'); 104 } 105 106 if( "load" == this.data('edsAnimateOn') ) { 107 this.edsInit(); 108 } else if( "scroll" == this.data('edsAnimateOn') ) { 109 this.edsScrollOffset = this.data('edsScrollOffset'); 110 edsWObj.on("scroll", $.throttle( 250, this.checkPosition ) ); 111 this.checkPosition(); 112 113 } else if( "hover" == this.data('edsAnimateOn') ) { 114 this.on("mouseenter", function (){ 115 if( !obj.edsElemAnimating ){ 116 obj.animo("cleanse"); 117 obj.edsElemAnimating = true; 118 obj.edsInit(); 119 } 120 } ); 121 122 } else if( "click" == this.data('edsAnimateOn') ) { 123 this.on("click", function () { 124 if( !obj.edsElemAnimating ){ 125 obj.animo("cleanse"); 126 obj.edsElemAnimating = true; 127 obj.edsInit(); 128 } 129 } ); 130 } 131 132 }; 133 134 $(document).ready( function() { 135 136 if( typeof edsanimate_options !== 'undefined' ) { 137 if( $('.eds-animate').length >= 1 ){ 138 ( '1' == edsanimate_options.hide_hz_scrollbar ) ? $('body').css('overflow-x', 'hidden'): ''; 139 ( '1' == edsanimate_options.hide_vl_scrollbar ) ? $('body').css('overflow-y', 'hidden'): ''; 140 } 141 } 142 143 $('.eds-animation-paused').removeClass('eds-animation-paused'); 144 145 $('.eds-animate').each( function(){ 146 $(this).initEDSAnimateBlock(); 147 }); 148 149 } ); 150 151} )(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.