function NvScroll() { this.version = "0.2"; this.name = "NvScroll"; this.divId = "list"; this.item = new Array(); this.itemcount = 0; this.currentspeed = 0; this.scrollspeed = 50; this.pausedelay = 1000; this.pausemouseover = false; this.stop = false; this.height = 100; this.width = 100; this.stopHeight=0; this.i=0; this.reloadData = 0; this.scrollTimer; this.stopTimer ; this.rollingTimer ; this.add = function () { var text = arguments[0]; this.item[this.itemcount] = text; this.itemcount = this.itemcount + 1; }; this.clearitem = function () { clearTimeout(this.scrollTimer) ; clearTimeout(this.stopTimer) ; clearTimeout(this.rollingTimer) ; this.stop = true ; this.item = new Array(); this.itemcount = 0; this.i=0; this.reloadData = 0; var oList ; oList = document.getElementById(this.divId) ; if(oList){ oList.innerHTML = "" ; } } this.start = function () { if ( this.itemcount == 1 ) { this.add(this.item[0]); } this.display(); this.currentspeed = this.scrollspeed; this.stop = true; this.scrollTimer = setTimeout(this.name+'.scroll()',this.currentspeed); this.stopTimer = window.setTimeout(this.name+".stop = false", this.pausedelay); }; this.display = function () { var htmlCode; htmlCode = '
'; for(var i = 0; i < this.itemcount; i++) { htmlCode += '
'; htmlCode += this.item[i]; htmlCode += '
'; } htmlCode += '
'; var oList ; oList = document.getElementById(this.divId) ; if(oList){ oList.innerHTML=htmlCode; } }; this.scroll = function () { if ( this.pause == true ) { this.scrollTimer = window.setTimeout(this.name+".scroll()",this.pausedelay); this.pause = false; } else { this.currentspeed = this.scrollspeed; if ( !this.stop ) { for (var i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; obj.top = parseInt(obj.top) - 1; if ( parseInt(obj.top) <= this.height * (-1) ) obj.top = this.height * (this.itemcount-1); if ( parseInt(obj.top) == 0 ) { this.currentspeed = this.pausedelay; this.i = i; } } } if( !this.stop && i == this.itemcount && parseInt(obj.top) == 0 && this.reloadData == 1 ) { this.reloadData = 0; } else { this.scrollTimer = window.setTimeout(this.name+".scroll()",this.currentspeed); } } }; this.rolling = function () { if ( this.stop == false ) { this.next(); } this.rollingTimer = window.setTimeout(this.name+".rolling()",this.scrollspeed); } this.onmouseover = function () { //if( this.i < 5 ) msg('msg_01'); //else msg('msg_02'); if ( this.pausemouseover ) { this.stop = true; } for( var i = 0; i < 10; ++i ) { var ii = i + 1; if( ii < 10 ) ii = "r0" + ii; else ii = "r" + ii; var itemObj = document.getElementById(ii); if( itemObj ) { if( i == this.i ) itemObj.style.fontWeight='bold'; else itemObj.style.fontWeight='normal'; } } }; this.onmouseout = function () { if ( this.pausemouseover ) { this.stop = false; } }; 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); 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); } else { obj.left = parseInt(obj.left) - width; } } } 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); 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 = 0; } else { obj.left = parseInt(obj.left) + this.width; } } } else { for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if ( parseInt(obj.left) < 1 ) { obj.left = 0; } else { obj.left = parseInt(obj.left) + width; } } } } this.unext = function () { this.onmouseover(); this.next(); window.setTimeout(this.name+".onmouseout()",this.pausedelay); } this.uprev = function () { this.onmouseover(); this.prev(); window.setTimeout(this.name+".onmouseout()",this.pausedelay); } }