﻿
//图片滚动插件
//css:jquery.scroll.css
//调用方法： 参数自定
//	$(".marquee_H").marquee_W({
//		prev_tag:".m_left",
//		next_tag:".m_right",
//		subject:".marquee_C",
//		duration: 5000
//	});
;(function($){
	$.fn.extend({
		marquee_W:function(options){
			return this.each(function(){
				options = $.extend({
					page:"1", //当前页
					pagesize:"5", //每页显示的
					subject:"ul",//滚动的对象
					subject_tag:"li",//滚动的列表项
					width:"700",//滚动宽度
					prev_tag:".prev",//上一页标签
					next_tag:".next",//下一页标签
					auto:true,//自动滚动
					interval:"3000",//滚动时间间隔
					duration:"slow" //动画速度 可为数字或（slow,normal,fast）
				},options);
				var $this = $(this);
				var page = options.page;
				var pagesize = options.pagesize;
				var subject = options.subject;
				var subject_tag = options.subject_tag;
				var width = options.width;
				var prev_tag = options.prev_tag;
				var next_tag = options.next_tag;
				var auto = options.auto;
				var interval = parseInt(options.interval,10);
				var duration = options.duration == "slow" || options.duration == 'normal' || options.duration == 'fast' ? options.duration : parseInt(options.duration,10);
				
				var abs_page = parseInt(page,10);
				
				var len = $this.find(subject).children(subject_tag).length;//滚动项的长度（个数）
				var page_count = Math.ceil(len / parseInt(pagesize,10)); //总页数
				abs_page < 1 ? abs_page = 1 : abs_page = (abs_page > page_count ? page_count : abs_page);
				var v_width = parseInt(width,10);//滚动宽度
				var $v_show = $this.find(subject);//滚动对象
				$this.find(prev_tag).click(function(){ //上一页
					if(!$v_show.is(":animated")){
						if(abs_page == page_count){ //如果是最后一页，转到第一页
							$v_show.animate({"left":"0px"},duration);
							abs_page = 1;
						}else{
							$v_show.animate({"left":"-=" + v_width},duration);
							abs_page++;
						}
					}
				});
				
				$this.find(next_tag).click(function(){ //下一页
					if(!$v_show.is(":animated")){
						if(abs_page == 1){ //如果是最后一页，转到第一页
							$v_show.animate({ left : '-=' + v_width * (page_count - 1) }, duration);
							abs_page = page_count;
						}else{
							$v_show.animate({"left":"+=" + v_width}, duration);
							abs_page--;
						}
					}
					
				});
				if(auto){ //是否自动滚动
					var _scroll = function(){$this.find(prev_tag).click();}
					if(!$v_show.is(":animated")){
						setInterval(_scroll,interval);
					}
				}
			});
			
		}	
		
	});
})(jQuery);
