﻿// JScript 文件
//<style type="text/css">
//<!--
//#demo {
// background: #FFF;
// overflow:hidden;
// border: 1px dashed #CCC;
// height: 145px;
// text-align: center;
// float: left;
//}
//#demo img {
// border: 3px solid #F2F2F2;
// display: block;
//}
//-->
//</style>
function objectMarquee(object, direction, speed){
	this.object = object;
	this.arrDiv = object.getElementsByTagName("div");
	this.arrDiv[1].innerHTML=this.arrDiv[0].innerHTML; //克隆demo1为demo2
	this.ok = true;
	var othis = this;
	switch (direction){
		case "up":
		setInterval(function(){
			if (othis.ok){
				if(othis.arrDiv[1].offsetTop-othis.object.scrollTop<=0)//当滚动至demo1与demo2交界时
					othis.object.scrollTop-=othis.arrDiv[0].offsetHeight //demo跳到最顶端
				else{
					othis.object.scrollTop++
				}
			}
		}, speed);
		break;
	}
	this.object.onmouseover=function() {othis.ok = false};//鼠标移上时清除定时器达到滚动停止的目的
	this.object.onmouseout=function() {othis.ok = true};//鼠标移开时重设定时器
}
//var oMarquee = new objectMarquee(document.getElementById("demo"), "up", 20);


///////////////////////////////////////////////////////////
//只支持向左向右连续滚动
///////////////////////////////////////////////////////////

//<div id="div_main" style="width: 200px; height:250px; overflow: hidden;">
//  <table border="0" cellpadding="0" cellspacing="0">
//      <tr>
//          <td>
//          </td>
//          <td>
//          </td>
//          <td>
//          </td>
//      </tr>
//  </table>
//</div>
var agt=navigator.userAgent.toLowerCase();
var ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1) && (agt.indexOf("omniweb") == -1));
                       //div     //方向    //每个单元宽  //速度  //运动频率
function objectMarqueeLR(object, direction, width,     speed,   lv){
	this.object = object;
	this.ok = true;
	if (lv){
	    this.lv = lv;
	}else{
	    this.lv = 1;
	}
	this.table = object.getElementsByTagName("table")[0];
	
	var row = this.table.rows[0];
	var tdcount = row.cells.length;
	this.sample = 0;
	
    for (var i=0; i < tdcount; i++){
        this.sample += width;
    }
	
	if (this.sample > parseInt(this.object.style.width)){
	    //克隆对象
	    if (ie){
           for (var i=0; i < tdcount; i++){
               var td = document.createElement("td");
               td = row.cells[i].cloneNode();
               td.innerHTML = row.cells[i].innerHTML;
               row.appendChild(td);
           }
	    }else{
	       row.innerHTML = row.innerHTML + row.innerHTML;
	    }
    	
	    var othis = this;
	    switch (direction){
		    case "left":
		        othis.object.scrollLeft = 0;
		        setInterval(function(){
			        if (othis.ok){
				        othis.object.scrollLeft += othis.lv;
                        if (othis.object.scrollLeft >= othis.sample){
                            othis.object.scrollLeft = 0;
                        }
			        }
		        }, speed);
		    break;
		    case "right":
		        var rightvalue = othis.sample*2 - parseInt(othis.object.style.width);
		        othis.object.scrollLeft = rightvalue;
		        setInterval(function(){
			        if (othis.ok){
				        othis.object.scrollLeft -= othis.lv;
                        if (othis.object.scrollLeft <= (othis.sample - parseInt(othis.object.style.width))){
                            othis.object.scrollLeft = rightvalue;
                        }
			        }
		        }, speed);
		    break;
	    }
	    this.object.onmouseover=function() {othis.ok = false};//鼠标移上时清除定时器达到滚动停止的目的
	    this.object.onmouseout=function() {othis.ok = true};//鼠标移开时重设定时器
	}
}
//var oMarquee = new objectMarqueeLR(document.getElementById("div_main"), "left", 160, 20, 1);


///////////////////////////////////////////////////////////
//只支持向上向下连续滚动
///////////////////////////////////////////////////////////

//<div id="div_main" style="width: 200px; height:250px; overflow: hidden;">
//  <table border="0" cellpadding="0" cellspacing="0">
//      <tr>
//          <td>
//          </td>
//      </tr>
//      <tr>
//          <td>
//          </td>
//      </tr>
//  </table>
//</div>
var agt=navigator.userAgent.toLowerCase();
var ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1) && (agt.indexOf("omniweb") == -1));
                       //div     //方向    //每个单元宽  //速度  //运动频率
function objectMarqueeUD(object, direction, height, speed, lv){
	this.object = object;
	this.ok = true;
	if (lv){
	    this.lv = lv;
	}else{
	    this.lv = 1;
	}
	this.table = object.getElementsByTagName("table")[0];
	
	var rows = this.table.rows;
	var tdcount = this.table.rows.length;
	this.sample = 0;
	
    for (var i=0; i < tdcount; i++){
        this.sample += height;
    }
	
	if (this.sample > parseInt(this.object.style.height)){
	    //克隆对象
	    this.object.innerHTML = this.object.innerHTML + this.object.innerHTML;
	    
		//alert(this.object.innerHTML);
		
	    var othis = this;
	    switch (direction){
		    case "up":
		        othis.object.scrollTop = 0;
		        setInterval(function(){
			        if (othis.ok){
				        othis.object.scrollTop += othis.lv;
                        if (othis.object.scrollTop >= othis.sample){
                            othis.object.scrollTop = 0;
                        }
			        }
			        //document.getElementById("aa").innerHTML += othis.object.scrollHeight + "__" + othis.object.scrollTop + "_" + othis.sample;
		        }, speed);
		    break;
		    case "down":
		        var rightvalue = othis.sample*2 - parseInt(othis.object.style.height);
		        othis.object.scrollTop = rightvalue;
		        setInterval(function(){
			        if (othis.ok){
				        othis.object.scrollTop -= othis.lv;
                        if (othis.object.scrollTop <= (othis.sample - parseInt(othis.object.style.height))){
                            othis.object.scrollTop = rightvalue;
                        }
			        }
		        }, speed);
		    break;
	    }
	    this.object.onmouseover=function() {othis.ok = false};//鼠标移上时清除定时器达到滚动停止的目的
	    this.object.onmouseout=function() {othis.ok = true};//鼠标移开时重设定时器
	}
}
//var oMarquee = new objectMarqueeUD(document.getElementById("div_main"), "up", 160, 20, 1);