$.fn.imgscroll = function(o) { var defaults = { speed: 40, amount: 0, width: 1, dir: "left" }; o = $.extend(defaults, o); return this.each(function() { var _li = $("li", this); _li.parent().parent().css({ overflow: "hidden", position: "relative" }); _li.parent().css({ margin: "0", padding: "0", overflow: "hidden", position: "relative", "list-style": "none" }); _li.css({ position: "relative", overflow: "hidden" }); if (o.dir == "left") _li.css({ float: "left" }); var _li_size = 0; for (var i = 0; i < _li.size(); i++) _li_size += o.dir == "left" ? _li.eq(i).outerwidth(true) : _li.eq(i).outerheight(true); if (o.dir == "left") _li.parent().css({ width: (_li_size * 3) + "px" }); _li.parent().empty().append(_li.clone()).append(_li.clone()).append(_li.clone()); _li = $("li", this); var _li_scroll = 0; function goto() { _li_scroll += o.width; if (_li_scroll > _li_size) { _li_scroll = 0; _li.parent().css(o.dir == "left" ? { left: -_li_scroll } : { top: -_li_scroll }); _li_scroll += o.width; } _li.parent().animate(o.dir == "left" ? { left: -_li_scroll } : { top: -_li_scroll }, o.amount); } var move = setinterval(function() { goto(); }, o.speed); _li.parent().hover(function() { clearinterval(move); }, function() { clearinterval(move); move = setinterval(function() { goto(); }, o.speed); }); }); }; $(function() { $('.demo4').tabs({ //auto: 10000 }); $(".tab_box div.imgscroll").imgscroll({ speed: 200, amount: 0, width: 1, dir: "left" }); })