/* @Usage
*      $('#marquee').marquee(options);
* @options
*    isEqual:true,//所有滚动的元素长宽是否相等,true,false
*      loop: 0,//循环滚动次数，0时无限
*    direction: 'left',//滚动方向，'left','right','up','down'
*    scrollAmount:1,//步长
*    scrollDelay:20//时长
*/

(function($){$.fn.marquee=function(options){var opts=$.extend({},$.fn.marquee.defaults,options);return this.each(function(){var $marquee=$(this);var _scrollObj=$marquee.get(0);var scrollW=$marquee.width();var scrollH=$marquee.height();var $element=$marquee.children();var $kids=$element.children();var scrollSize=0;var _type=(opts.direction=='left'||opts.direction=='right')?1:0;$element.css(_type?'width':'height',10000);if(opts.isEqual){scrollSize=$kids[_type?'outerWidth':'outerHeight']()*$kids.length}else{$kids.each(function(){scrollSize+=$(this)[_type?'outerWidth':'outerHeight']()})}if(scrollSize<(_type?scrollW:scrollH))return;$element.append($kids.clone()).css(_type?'width':'height',scrollSize*2);var numMoved=0;function scrollFunc(){var _dir=(opts.direction=='left'||opts.direction=='right')?'scrollLeft':'scrollTop';if(opts.loop>0){numMoved+=opts.scrollAmount;if(numMoved>scrollSize*opts.loop){_scrollObj[_dir]=0;return clearInterval(moveId)}}if(opts.direction=='left'||opts.direction=='up'){var newPos=_scrollObj[_dir]+opts.scrollAmount;if(newPos>=scrollSize){newPos-=scrollSize}_scrollObj[_dir]=newPos}else{var newPos=_scrollObj[_dir]-opts.scrollAmount;if(newPos<=0){newPos+=scrollSize}_scrollObj[_dir]=newPos}}var moveId=setInterval(scrollFunc,opts.scrollDelay);$marquee.hover(function(){clearInterval(moveId)},function(){clearInterval(moveId);moveId=setInterval(scrollFunc,opts.scrollDelay)})})};$.fn.marquee.defaults={isEqual:true,loop:0,direction:'left',scrollAmount:1,scrollDelay:20};$.fn.marquee.setDefaults=function(settings){$.extend($.fn.marquee.defaults,settings)}})(jQuery);

