1(function($) { 2 3 $.fn.innerfade = function(options) { 4 return this.each(function() { 5 $.innerfade(this, options); 6 }); 7 }; 8 9 $.innerfade = function(container, options) { 10 var settings = { 11 'animationtype': 'fade', 12 'speed': 'normal', 13 'type': 'sequence', 14 'timeout': 2000, 15 'children': null 16 }; 17 if (options) 18 $.extend(settings, options); 19 if (settings.children === null) 20 var elements = $(container).children(); 21 else 22 var elements = $(container).children(settings.children); 23 if (elements.length > 1) { 24 $(container).css('position', 'relative').css('height', settings.containerheight).addClass(settings.runningclass); 25 for (var i = 0; i < elements.length; i++) { 26 $(elements[i]).css('z-index', String(elements.length-i)).css('position', 'absolute').hide(); 27 }; 28 if (settings.type == "sequence") { 29 setTimeout(function() { 30 $.innerfade.next(elements, settings, 1, 0); 31 }, settings.timeout); 32 $(elements[0]).show(); 33 } else if (settings.type == "random") { 34 var last = Math.floor ( Math.random () * ( elements.length ) ); 35 setTimeout(function() { 36 do { 37 current = Math.floor ( Math.random ( ) * ( elements.length ) ); 38 } while (last == current ); 39 $.innerfade.next(elements, settings, current, last); 40 }, settings.timeout); 41 $(elements[last]).show(); 42 } else if ( settings.type == 'random_start' ) { 43 settings.type = 'sequence'; 44 var current = Math.floor ( Math.random () * ( elements.length ) ); 45 setTimeout(function(){ 46 $.innerfade.next(elements, settings, (current + 1) % elements.length, current); 47 }, settings.timeout); 48 $(elements[current]).show(); 49 } else { 50 alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\''); 51 } 52 } 53 }; 54 55 $.innerfade.next = function(elements, settings, current, last) { 56 if (settings.animationtype == 'slide') { 57 $(elements[last]).slideUp(settings.speed); 58 $(elements[current]).slideDown(settings.speed); 59 } else if (settings.animationtype == 'fade') { 60 $(elements[last]).fadeOut(settings.speed); 61 $(elements[current]).fadeIn(settings.speed, function() { 62 removeFilter($(this)[0]); 63 }); 64 } else 65 alert('Innerfade-animationtype must either be \'slide\' or \'fade\''); 66 if (settings.type == "sequence") { 67 if ((current + 1) < elements.length) { 68 current = current + 1; 69 last = current - 1; 70 } else { 71 current = 0; 72 last = elements.length - 1; 73 } 74 } else if (settings.type == "random") { 75 last = current; 76 while (current == last) 77 current = Math.floor(Math.random() * elements.length); 78 } else 79 alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\''); 80 setTimeout((function() { 81 $.innerfade.next(elements, settings, current, last); 82 }), settings.timeout); 83 }; 84 85})(jQuery); 86 87// **** remove Opacity-Filter in ie **** 88function removeFilter(element) { 89 if(element.style.removeAttribute){ 90 element.style.removeAttribute('filter'); 91 } 92}
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.