﻿// JScript 文件

function MyMarquee_V(_box,_item,moveSpeed,movestep)
  {
	  this.box=_box;
	  this.item=_item;
    if(moveSpeed)
	    this.moveSpeed = moveSpeed; // 速度控制，两次移动的间隔ms 
	  else
	    this.moveSpeed =parseInt(this.box.getAttribute("speed")); // 速度控制，两次移动的间隔ms 
	  if(movestep)
	    this.movestep = movestep; // 速度控制，每次的移动量px 
	  else
	    this.movestep = parseInt(this.box.getAttribute("step"));
	  this.post = 0; // 工作变量，当前偏移量 
	  this.tvheight = 0; // 工作变量，移动区域的总高度 
	  this.start = true; // 工作变量，运动状态控制 
	  this.box.Marquee=this;	
	  this.box.onmousemove=function()
	  {
		  if(this.Marquee)
		  this.Marquee.start=false;
	  }
	  this.box.onmouseout=function()
	  {
		  if(this.Marquee)
		  this.Marquee.start=true;
	  }

	  /** 
	  * 移动控制 
	  * 首次调用需有参数 
	  */ 
	  this.item_move=function(v)
	  { 
		  if(v) 
		  { // 第一次进入 
			  if(this.item.offsetHeight <= this.box.offsetHeight) 
			  { 
			    if(this.item.offsetHeight>0&&this.item.innerHTML.trim()!="")//防止被滚动对象为空时，造成死循环
			    {
				    while(this.item.offsetHeight <= this.box.offsetHeight)
				    {
					    this.item.innerHTML +=this.item.innerHTML; // 复制移动区域内容，这是本算法的关键 
				    }
				  }
			  }
			  //else 
			  { 
				  this.item.innerHTML += this.item.innerHTML; // 复制移动区域内容，这是本算法的关键 
				  this.tvheight = this.item.offsetHeight; // 获取移动区域的总高度 
			  } 
		  } 
		  if(this.start&&this.item.offsetHeight>0) 
		  { // 是移动状态 
			  this.post -= this.movestep; // 计算偏移 
			  if(this.post+this.tvheight < this.box.offsetHeight) // 若移动后将露出底部 
				  this.post += this.tvheight/2; // 将偏移上调一段 
			  this.item.style.pixelTop = this.post; // 设置偏移 
		  } 
	  } ;
	  /*** 启动纵向滚动 ***/ 
	   this.item_move(1);
    }
    var marList=[];
    function loadAllMarque()
    {
      var marque_boxList=document.getElementsByName("thkMarque_box");
      var marque_itemList=document.getElementsByName("thkMarque_item");
      if(marque_boxList.length!=marque_itemList.length)
      alert("页面中的滚动框thkMarque_box和要滚动的条目个数不一致");
      else
      {
        for(var i=0;i<marque_boxList.length;i++)
        {
          marList[i]=new MyMarquee_V(marque_boxList[i],marque_itemList[i]);
          window.setInterval("marList["+i+"].item_move()", marList[i].moveSpeed);
        }
      }
    }
    //window.attachEvent("onload",loadAllMarque);
    /****公告滚动条**/    