1 comment

[ 7.2 ms ] story [ 26.0 ms ] thread
var hiddenDivs = [];

jQuery.fn.divroller = function(options) { settings = jQuery.extend( { visible : 3, pause : 3000 }, options);

start(settings, this);

function start(settings, container) { var divs = container.children(); //hide unvisible divs while (settings.visible < divs.length) { var removedDiv = $(divs[divs.length - 1]).remove(); hiddenDivs.push(removedDiv); divs = container.children(); }

		setTimeout( function() {
			roll(settings, container)
		}, settings.pause);
		
	};

	function roll(settings, container) {
		//Dom manipulation.
		container.prepend(hiddenDivs.pop());
		hiddenDivs.unshift($(container.children()[settings.visible]).remove());
		
		//Efect
		$(container.children()[0]).hide();
		$(container.children()[0]).slideDown("slow");

		//Repeat
		setTimeout( function() {
			roll(settings, container)
		}, settings.pause);
	}
}