/* * * Copyright (c) 2006-2008 Sam Collett (http://www.texotela.co.uk) * Licensed under the MIT License: * http://www.opensource.org/licenses/mit-license.php *  * Version 2.0.2 * Demo: http://www.texotela.co.uk/code/jquery/newsticker/ * * $LastChangedDate$ * $Rev$ * */ (function($) {/* * A basic news ticker. * * @name     newsticker (or newsTicker) * @param    delay      Delay (in milliseconds) between iterations. Default 4 seconds (4000ms) * @author   Sam Collett (http://www.texotela.co.uk) * @example  $("#news").newsticker(); // or $("#news").newsTicker(5000); * */$.fn.newsTicker = $.fn.newsticker = function(delay){	delay = delay || 4000;	initTicker = function(el)	{		$.newsticker.clear(el);		el.items = $("li", el);		// hide all items (except first one)		el.items.not(":eq(0)").hide().end();		// current item		el.currentitem = 0;		startTicker(el);	};	startTicker = function(el)	{		el.tickfn = setInterval(function() { doTick(el) }, delay)	};	doTick = function(el)	{		// don't run if paused		if(el.pause) return;		// pause until animation has finished		$.newsticker.pause(el);		// hide current item		$(el.items[el.currentitem]).fadeOut("slow",			function()			{				$(this).hide();				// move to next item and show				el.currentitem = ++el.currentitem % (el.items.size());				$(el.items[el.currentitem]).fadeIn("slow",					function()					{						$.newsticker.resume(el);					}				);			}		);	};	this.each(		function()		{			if(this.nodeName.toLowerCase()!= "ul") return;			initTicker(this);		}	)	.addClass("newsticker")	.hover(		function()		{			// pause if hovered over			$.newsticker.pause(this);		},		function()		{			// resume when not hovered over			$.newsticker.resume(this);		}	);	return this;};$.newsticker = $.newsTicker ={	pause: function(el)	{		(el.jquery ? el[0] : el).pause = true;	},	resume: function(el)	{		(el.jquery ? el[0] : el).pause = false;	},	clear: function(el)	{		el = (el.jquery ? el[0] : el);		clearInterval(el.tickfn);		el.tickfn = null;		el.items = null;		el.currentItem = null;	}}})(jQuery);
