﻿/*CSS切换图片总样式*/
/*
.JsPicSwitch{display:none;position:relative; overflow:hidden;}
.JsPicSwitch,.JsPicSwitch ul,.JsPicSwitch li,.JsPicSwitch img{ margin:0; padding:0px; }
.JsPicSwitch ul{list-style:none;position:absolute;top:0px;}
.JsPicSwitch li{ list-style:none;overflow:hidden;}
.JsPicSwitch li img{ border:0px;}
*/
/*CSS数字样式*/
/*
.JsPicSwitch .num{position:absolute;z-index:9999;right:3px;bottom:3px;opacity:0.7;filter:alpha(opacity=70);-moz-opacity:0.7;-khtml-opacity:0.7;}
.JsPicSwitch .num span{ background:#999999; color:#FFFFFF;  cursor:pointer; margin-left:2px; padding:0px 3px; font-size:12px; font-weight:bold;}
.JsPicSwitch .num .select{ background:#117FC0;}
*/
/*html结构
<div id="JsPicSwitch" class="JsPicSwitch">
  <ul>
    <li><a href="#"><img src="" alt="" /></a></li>
    <li><a href="#"><img src="" alt="" /></a></li>
    <li><a href="#"><img src="" alt="" /></a></li>
    <li><a href="#"><img src="" alt="" /></a></li>
  </ul>
</div>
*/
/*调用说明:
new JsPicSwitch("JsPicSwitch",500,100);
new JsPicSwitch("JsPicSwitch",500,100,5000);
new JsPicSwitch("JsPicSwitch",500,100,5000,0);
new JsPicSwitch("JsPicSwitch",500,100,5000,0,50);
new JsPicSwitch("JsPicSwitch",500,100,5000,0,50,0.2);
参数列表
id:标签ID
width:宽度
height：高度
interval：图片切换间隔时间，单位（毫秒）
mouse:鼠标效果[0-2]
delaytime:加速移动间隔时间，单位（毫秒）
step：加速移动系数
*/
function JsPicSwitch()
{
	//参数列表id,width,height,interval,mouse,delaytime,step
	if(arguments.length<=0)
	{
		alert("初始化错误\r\n请检查标签ID设置是否正确!");
		this.picdiv = -1;
		return;
	}
	this.picdiv=$("#"+arguments[0]);
	if(!this.picdiv)
	{
		alert("您要设置的\"" + arguments[0] + "\"初始化错误\r\n请检查标签ID设置是否正确!");
		this.picdiv = -1;
		return;
	}
	this.width=this.height=this.mouse=0;
	this.interval=5000;this.delaytime=50;this.step=0.2;
	if(typeof arguments[1] == "number")this.width=arguments[1];
	if(typeof arguments[2] == "number")this.height=arguments[2];
	if(typeof arguments[3] == "number")this.interval=arguments[3];
	if(typeof arguments[4] == "number")this.mouse=arguments[4];
	if(typeof arguments[5] == "number")this.delaytime=arguments[5];
	if(typeof arguments[6] == "number")this.step=arguments[6];
	
	this.picul=this.picdiv.find("ul");
	this.piclis=this.picdiv.find("li");
	
	var numhtml='<div class="num">';
	for(var i=0;i<this.piclis.size();i++)
	{numhtml=numhtml+((i==0)?('<span class="select">'+(i+1)+'</span>'):('<span>'+(i+1)+'</span>'));}
	numhtml=numhtml+'</div>';
	this.picdiv.append(numhtml);	
	this.numspans=this.picdiv.find(".num span");
	
	this.piclis.css("width",this.width+"px").css("height",this.height+"px");
	this.picdiv.css("width",this.width+"px").css("height",this.height+"px").css("display","block");
	
	var SwitchObj=this;var IntervalObj;
	var numIndex=0,top=0,totop=0;
	SwitchObj.moving= function()
	{
		//停止自动效果
		clearInterval(IntervalObj);
			
		var moveh=totop-top;		
		moveh=Math.round(moveh*SwitchObj.step);
		
		if(Math.abs(moveh)>1)
		{
			top=top+moveh;
			SwitchObj.picul.css("top",top+"px");
			setTimeout(SwitchObj.moving,SwitchObj.delaytime);
		}
		else
		{
			SwitchObj.picul.css("top",totop+"px");
			//启动自动效果
			IntervalObj=setInterval(SwitchObj.next,SwitchObj.interval);
		}		
	}
	SwitchObj.mousenum= function()
	{		
		numIndex=parseInt($(this).text())-1;
		top=SwitchObj.picul.position().top;
		totop=-numIndex*SwitchObj.height;
		
		SwitchObj.numspans.removeClass("select").eq(numIndex).addClass("select");
		SwitchObj.moving();
	}
	SwitchObj.next=function ()
	{
		numIndex++;
		if(numIndex>=SwitchObj.numspans.size())
			numIndex=0;		
		
		top=SwitchObj.picul.position().top;
		totop=-numIndex*SwitchObj.height;
		
		SwitchObj.numspans.removeClass("select").eq(numIndex).addClass("select");
		SwitchObj.moving();
	}
	if(SwitchObj.mouse==0)
		SwitchObj.numspans.mouseover(SwitchObj.mousenum);
	else if(SwitchObj.mouse==1)
		SwitchObj.numspans.click(SwitchObj.mousenum);
	else if(SwitchObj.mouse==2)
		SwitchObj.numspans.dblclick(SwitchObj.mousenum);
		
	IntervalObj=setInterval(SwitchObj.next,SwitchObj.interval);	
}



                        
               
                        
