﻿// JScript 文件
//层的滑动隐藏效果，来源http://www.design007.com/effect/view20071016172.htm

function Hidden()
{
    this.ID = document.getElementById(arguments[0]);//目标层名称（需要滚动部分的层名称）
	if(!this.ID)
	{
		alert('您要设置的"' + arguments[0] +'"初始化错误\r\n请检查标签ID设置是否正确!');
		this.ID = -1;
		return;
	}
	
	this.Speed=this.Space=this.Width=this.Height=this.Direction=this.starcount=this.MyDirection=0;
	this.txt=0;
	this.DivNone="";
		
	if(typeof arguments[1] == "number")this.Speed = arguments[1];//间歇时间（每多少秒调用一次）
	if(typeof arguments[2] == "number")this.Space = arguments[2];//位移幅度（步长）一次移动多少像素
	if(typeof arguments[3] == "number")this.Width = arguments[3];//滚动隐藏层的宽 （宽和高只需要给一种赋值）
	if(typeof arguments[4] == "number")this.Height = arguments[4];//滚动隐藏层的高 （宽和高只需要给一种赋值）
	if(typeof arguments[5] == "number")this.Direction = arguments[5];//滚动方向   (0为上下 1为左右)
	if(typeof arguments[6] == "string")this.ObjectName = arguments[6];	//本类的实例对象名 如：var mq=new Marquee("List1","ISL_Cont","dotList"); 中的mq
	if(typeof arguments[7] == "string")this.DivNone = arguments[7];	//本类的实例对象名 如：var mq=new Marquee("List1","ISL_Cont","dotList"); 中的mq
	
	this.End=null;		
	if(this.Direction==0)
    {
		this.Height = this.ID.scrollHeight;
        this.starcount = this.ID.scrollHeight;  
		this.Space = this.ID.scrollHeight;
    }
    else if(this.Direction==1)
    {
        this.starcount = this.ID.scrollWidth;       
    }
}

Hidden.prototype.Start=function()
{	
    if(this.Direction==0)
    {
        this.UpDown();  
    }
    else if(this.Direction==1)
    {
        this.LeftRight(); 
    }
}

Hidden.prototype.ChangleTxt=function(name1,name2)
{

	if(this.txt==0)
	{
		 document.getElementById(name1).className="none";
		 document.getElementById(name2).className="";
		 this.txt=1;
	}
	else
	{
		 document.getElementById(name1).className="on";
		 document.getElementById(name2).className="none";
		 this.txt=0;
	}
}

Hidden.prototype.Scroll=function()
{    
    switch(this.MyDirection)
    {
        case 0 :
            if(this.starcount >= this.Height)
            {
                 return;
            }
            else
            {
				if(this.starcount>=this.Height)
				{
					this.starcount =this.Height;
				}
                this.starcount +=this.Space;
                this.ID.style.height=this.starcount+"px";
                this.End=setTimeout(this.ObjectName + ".Scroll()",this.speed);
               
            }
            break ;
        case 1 :
            if(this.starcount <= 0)
            {
                 return;
            }
            else
            {				 
                 this.starcount -=this.Space;
                 if(this.starcount<=0)
                 {
                    this.starcount = 0;
                 }
                 this.ID.style.height=this.starcount+"px";
                 this.End=setTimeout(this.ObjectName + ".Scroll()",this.speed);
                 
            }
            break ;
        case 2 :
             if(this.starcount == this.Height)
            {
                 return;
            }
            else
            {
               this.starcount +=this.Space;
               this.ID.style.width=this.starcount+"px";
               this.End=setTimeout(this.ObjectName + ".Scroll()",this.speed);               
            }
            break ;
        case 3 :
            if(this.starcount == -this.Height)
            {
                 return;
            }
            else
            {
               this.starcount -=this.Space;
               this.ID.style.width=this.starcount+"px";
               this.End=setTimeout(this.ObjectName + ".Scroll()",this.speed);
           }
           break;
    }
}

Hidden.prototype.UpDown=function()
{	
    if(this.starcount<this.Height)
    {		
        this.MyDirection = 0;		
		if(this.Divnone!=""&&document.getElementById(this.DivNone)!=null)
		{
			document.getElementById(this.DivNone).style.display="block";			
		}
        this.Scroll();
       
    }
    else if(this.starcount>=this.Height)
    {        
		this.MyDirection = 1;
		if(this.Divnone!=""&&document.getElementById(this.DivNone)!=null)
		{
			document.getElementById(this.DivNone).style.display = "none";
		}
        this.Scroll();
       
    }    
}


Hidden.prototype.LeftRight=function()
{
    if(this.starcount<=this.Width)
    {
        this.MyDirection = 2;
        
        
            this.Scroll();
        
    }
    else if(this.starcount>=this.Width)
    {
        this.MyDirection = 3;
        
        
            this.Scroll();
        
    } 
}


