新闻头条淡入淡出效果
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> <style> a { color:#CCCCCC} li { list-style:none;} span { padding-right:20px; color:#FFFFFF; font-weight:bold;} </style> </head> <body> <div id="ticker" style="padding:10px; background:#333333"> <!-- START TICKER VER 1.0.1 --> <script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js" type="text/javascript"></script> <script type="text/javascript"> /* ========================================================= // jquery.innerfade.js // Datum: 2008-02-14 // Firma: Medienfreunde Hofmann & Baldes GbR // Author: Torsten Baldes // Mail: t.baldes@medienfreunde.com // Web: http://medienfreunde.com // based on the work of Matt Oakes http://portfolio.gizone.co.uk/applications/slideshow/ // and Ralf S. Engelschall http://trainofthoughts.org/ * * <ul id="news"> * <li>content 1</li> * <li>content 2</li> * <li>content 3</li> * </ul> * * $('#news').innerfade({ * animationtype: Type of animation 'fade' or 'slide' (Default: 'fade'), * speed: Fading-/Sliding-Speed in milliseconds or keywords (slow, normal or fast) (Default: 'normal'), * timeout: Time between the fades in milliseconds (Default: '2000'), * type: Type of slideshow: 'sequence', 'random' or 'random_start' (Default: 'sequence'), * containerheight: Height of the containing element in any css-height-value (Default: 'auto'), * runningclass: CSS-Class which the container get’s applied (Default: 'innerfade'), * children: optional children selector (Default: null) * }); * // ========================================================= */ (function($) { $.fn.innerfade = function(options) { return this.each(function() { $.innerfade(this, options); }); }; $.innerfade = function(container, options) { var settings = { 'animationtype': 'fade', 'speed': 'normal', 'type': 'sequence', 'timeout': 2000, 'containerheight': 'auto', 'runningclass': 'innerfade', 'children': null }; if (options) $.extend(settings, options); if (settings.children === null) var elements = $(container).children(); else var elements = $(container).children(settings.children); if (elements.length > 1) { $(container).css('position', 'relative').css('height', settings.containerheight).addClass(settings.runningclass); for (var i = 0; i < elements.length; i++) { $(elements[i]).css('z-index', String(elements.length-i)).css('position', 'absolute').hide(); }; if (settings.type == "sequence") { setTimeout(function() { $.innerfade.next(elements, settings, 1, 0); }, settings.timeout); $(elements[0]).show(); } else if (settings.type == "random") { var last = Math.floor ( Math.random () * ( elements.length ) ); setTimeout(function() { do { current = Math.floor ( Math.random ( ) * ( elements.length ) ); } while (last == current ); $.innerfade.next(elements, settings, current, last); }, settings.timeout); $(elements[last]).show(); } else if ( settings.type == 'random_start' ) { settings.type = 'sequence'; var current = Math.floor ( Math.random () * ( elements.length ) ); setTimeout(function(){ $.innerfade.next(elements, settings, (current + 1) % elements.length, current); }, settings.timeout); $(elements[current]).show(); } else { alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\''); } } }; $.innerfade.next = function(elements, settings, current, last) { if (settings.animationtype == 'slide') { $(elements[last]).slideUp(settings.speed); $(elements[current]).slideDown(settings.speed); } else if (settings.animationtype == 'fade') { $(elements[last]).fadeOut(settings.speed); $(elements[current]).fadeIn(settings.speed, function() { removeFilter($(this)[0]); }); } else alert('Innerfade-animationtype must either be \'slide\' or \'fade\''); if (settings.type == "sequence") { if ((current + 1) < elements.length) { current = current + 1; last = current - 1; } else { current = 0; last = elements.length - 1; } } else if (settings.type == "random") { last = current; while (current == last) current = Math.floor(Math.random() * elements.length); } else alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\''); setTimeout((function() { $.innerfade.next(elements, settings, current, last); }), settings.timeout); }; })(jQuery); // **** remove Opacity-Filter in ie **** function removeFilter(element) { if(element.style.removeAttribute){ element.style.removeAttribute('filter'); } } </script> <script type="text/javascript"> jQuery.noConflict(); // Use jQuery via jQuery(...) jQuery(document).ready(function(){ jQuery('#news').innerfade({ speed: '1', timeout: 2000, containerheight: 20, animationtype: 'fade' }); }); </script> <ul id="news" style="overflow: hidden; display:block; margin:0; clear:both"> <li style="z-index: 5; position: absolute; display: none;"><span>HOT NEWS</span><a href="#">Racing has begun at the 2009 AllegroCup Windsurfing Championship in ?eba, Poland. This event, organised by... </a></li> <li style="z-index: 4; position: absolute; display: none;"><span>HOT NEWS</span><a href="#">Sean is currently racing at the Euro-Challenger FW Event in Pobierowo, Poland. A small seaside town on the... </a></li> <li style="z-index: 3; position: absolute; display: list-item;"><span>HOT NEWS</span><a href="#">Sean will be joining the dark side of windsurfing this season, on the International Team for Point-7 sails.... </a></li> <li style="z-index: 2; position: absolute; display: none;"><span>HOT NEWS</span><a href="#">Sean's all new website for 2009 launched today! Stay tuned for features on many CSS galleries once more. The... </a></li> <li style="z-index: 1; position: absolute; display: none;"><span>HOT NEWS</span><a href="#">Sean has just arrived in Europe and settled in to his training-base in the Netherlands, preparing for this... </a></li> </ul> <!-- END TICKER --> </div> </body> </html>
Comments
217 responses to “JQuery 新闻头条淡入淡出效果”