function BannerScroll() { this.name = "BannerScroll"; this.item = new Array(); this.currentspeed = 0; this.scrollspeed = 20; this.pausedelay = 1000; this.width = 100; this.height = 100; this.itemcount = 0; this.targetDiv = ""; this.scrolltype = 1; //1 Horizontal, 2 Vertical this.rowCount = 1; this.colCount = 1; this.stop = false; this.pause = true; this.pausemouseover = true; this.setTime = null; this.addItem = function () { this.item[this.itemcount] = arguments[0]; this.itemcount ++; }; this.start = function () { document.getElementById(this.targetDiv).innerHTML = this.htmImageDiv(); this.currentspeed = this.scrollspeed; if(this.itemcount > 1) { setTimeout(this.name+'.scroll()',this.currentspeed); } window.setTimeout(this.name+".stop = false", this.pausedelay); }; this.htmImageDiv = function() { var strTemp = '
'; for(var i = 0; i < this.itemcount; i++) { if(this.scrolltype == 1) strTemp += '
'; else strTemp += '
'; strTemp += this.item[i] + '
'; } strTemp += '
'; return strTemp; }; this.rolling = function () { if ( this.stop == false ) { this.next(); } clearTimeout(this.setTime); this.setTime = window.setTimeout(this.name+".next()",this.scrollspeed * 2); } this.scroll = function () { if (this.pause) { window.setTimeout(this.name+".scroll()",this.pausedelay); this.pause = false; } else { this.currentspeed = this.scrollspeed; if ( !this.stop ) { for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if(this.scrolltype == 1) { obj.left = (parseInt(obj.left) - 5).toString() + "px"; if ( parseInt(obj.left) <= this.width * (-1) ) obj.left = (this.width * (this.itemcount-1)).toString() + "px"; if ( parseInt(obj.left) == 0 ) this.currentspeed = this.pausedelay; } else { obj.top = (parseInt(obj.top) - 5).toString() + "px"; if ( parseInt(obj.top) <= this.height/this.rowCount * (-1) ) obj.top = (this.height/this.rowCount * (this.itemcount-1)).toString() + "px"; if ( parseInt(obj.top) == 0 ) this.currentspeed = this.pausedelay; } } } this.setTime = window.setTimeout(this.name+".scroll()",this.currentspeed); } }; this.scrollnext = function() { clearTimeout(this.setTime); this.currentspeed = this.scrollspeed; if ( !this.stop ) { for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; obj.left = (parseInt(obj.left) - 5).toString() + "px"; if ( parseInt(obj.left) <= this.width * (-1) ) obj.left = (this.width * (this.itemcount-1)).toString() + "px"; if ( parseInt(obj.left) == 0 ) this.currentspeed = this.pausedelay; } } this.setTime = window.setTimeout(this.name+".scrollnext()",this.currentspeed); } this.scrollprev = function() { clearTimeout(this.setTime); this.currentspeed = this.scrollspeed; if ( !this.stop ) { for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; obj.left = (parseInt(obj.left) + 5).toString() + "px"; if ( parseInt(obj.left) >= this.width * (this.itemcount-1)) obj.left = (this.width * (-1)).toString() + "px"; if ( parseInt(obj.left) == 0 ) this.currentspeed = this.pausedelay; } } this.setTime = window.setTimeout(this.name+".scrollprev()",this.currentspeed); } this.next = function() { for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if ( parseInt(obj.left) < 1 ) { width = (this.width + parseInt(obj.left)).toString() + "px"; break; } } for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if ( parseInt(obj.left) < 1 ) { obj.left = (this.width * (this.itemcount-1)).toString() + "px"; } else { obj.left = (parseInt(obj.left) - width).toString() + "px"; } } } this.prev = function() { for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if ( parseInt(obj.left) < 1 ) { width = (parseInt(obj.left) * (-1)).toString() + "px"; break; } } if ( width == 0 ) { total_width = this.width * (this.itemcount-1); for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if ( parseInt(obj.left) + 1 > total_width ) { obj.left = "0px"; } else { obj.left = (parseInt(obj.left) + this.width).toString() + "px"; } } } else { for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if ( parseInt(obj.left) < 1 ) { obj.left = "0px"; } else { obj.left = (parseInt(obj.left) + width).toString() + "px"; } } } } this.onmouseover = function () { if (this.pausemouseover){ this.stop = true; } }; this.onmouseout = function () { if (this.pausemouseover) { this.stop = false; } }; }