代码如下:1:脚本 <script>
var __scrollBarControl = null;
var __divinnerHTML=null;
var __firstTime=true;
function innerBarProp(barID, width, height, interval, direction)
{
this.barID = barID;
this.width = width;
this.height = height;
this.interval = interval;
this.direction = direction;
this.stopScroll = false;
this.maxValue = 0;
this.preValue = 0;
}
function scrollBar()
{
this.barsArray = new Array();
//save current object
__scrollBarControl = this;
}
//////////////////////////////////////////////////////////////////
// add scrollbar to bar list and set properties
// parameters:
// barID: HTML's tag <DIV>'s id property
// (for js access the DIV object)
// width: define the scrollbar's width
// height: define the scrollbar's height
// interval: define the scroll speed
// ( scroll up/down per XX millinSecond )
// direction: scroll direction's defined
// "up"
// "down"
// "left"
// "right"
//////////////////////////////////////////////////////////////////
scrollBar.prototype.addBar = function(barID, width, height, interval, direction)
{
//check parameters
var paraCount = arguments.length;
if ( paraCount < 1 )
{
alert("parameters count incorect!");
return;
//throw "parameters count inccorect!";
}
//width's default value
if ( typeof( width ) == "undefined" )
{
var width = 100;
}
//height's default value
if ( typeof( height ) == "undefined" )
{
var height = 100;
}
//interval's default value
if ( typeof( interval ) == "undefined" )
{
var interval = 1000;
}
//direction's default value
if ( typeof( direction ) == "undefined" )
{
var direction = "up";
}
//create scrollbar's inner properties
var barProp = new innerBarProp(barID, width, height, interval, direction);
var objBar = document.getElementById(barID);
if(__divinnerHTML!=null)
objBar.innerHTML=__divinnerHTML;
else
__divinnerHTML=objBar.innerHTML;
var barCount = this.barsArray.length;
this.barsArray[barCount] = barProp;
}
scrollBar.prototype.clear = function()
{
for(i=0;i<this.barsArray.length;i++)
this.barsArray.pop();
}
scrollBar.prototype.createScrollBars = function()
{
//get bar's count
var barCount = this.barsArray.length;
//if no bar add to scrollControl do nothing
if ( barCount == 0 )
{
return;
}
//init scroll bars
for ( var i=0; i<barCount; i++ )
{
var objBarID = this.barsArray[i].barID;
//if typeof objBarID is object
// that's meaning it inited
//if typeof objBarID is string
// init that scroll bar
if ( typeof( objBarID ) == "string" )
{
//get scroll <DIV> object
var objBar = document.getElementById( objBarID );
if (objBar == null)
{
//objBarID is not exist
if ( document.readyState == "complete" || document.readyState == "loaded" )
{
//the objBarID not exists in current document
//throw "the objBarID is not exists.";
alert("ScrollBar[" + objBarID + "]: not exist!");
return;
}
else
{
//wait for document to load objBarID
window.setTimeout("__scrollBarControl.createScrollBars()",50);
//exit processing..........
//and wait next time callbak
return;
}
}
//update barID
this.barsArray[i].barID = objBar;
}
}
for ( var i=0; i<barCount; i++ )
{
this.innerInitBar(i);
}
}
scrollBar.prototype.innerInitBar = function (index)
{
//get properties
var barID = this.barsArray[index].barID;
var width = this.barsArray[index].width;
var height = this.barsArray[index].height;
var interval = this.barsArray[index].interval;
var direction = this.barsArray[index].direction;
var maxValue = 0;
//set scrollBar's properties
with(barID)
{
style.width = width;
style.height = height;
noWrap=true;
switch( direction )
{
case "up":
maxValue = Math.max(scrollHeight, height);
style.overflowX = "visible";
style.overflowY = "hidden";
var barHtml = innerHTML;
var newHtml = "<table border='0' cellspacing='0' cellpadding='0'>\n";
newHtml += " <tr height='18'>\n";
newHtml += " <td> \n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += " <tr>\n";
newHtml += " <td height='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += " <tr>\n";
newHtml += " <td height='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += " <tr>\n";
newHtml += " <td height='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += "</table>\n";
var newHtml = "<table border='0' cellspacing='0' cellpadding='0'>\n";
newHtml += " <tr height='20'>\n";
newHtml += " <td> \n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += " <tr>\n";
newHtml += " <td height='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += " <tr>\n";
newHtml += " <td height='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += " <tr>\n";
newHtml += " <td height='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += "</table>\n";
var __scrollBarControl = null;
var __divinnerHTML=null;
var __firstTime=true;
function innerBarProp(barID, width, height, interval, direction)
{
this.barID = barID;
this.width = width;
this.height = height;
this.interval = interval;
this.direction = direction;
this.stopScroll = false;
this.maxValue = 0;
this.preValue = 0;
}
function scrollBar()
{
this.barsArray = new Array();
//save current object
__scrollBarControl = this;
}
//////////////////////////////////////////////////////////////////
// add scrollbar to bar list and set properties
// parameters:
// barID: HTML's tag <DIV>'s id property
// (for js access the DIV object)
// width: define the scrollbar's width
// height: define the scrollbar's height
// interval: define the scroll speed
// ( scroll up/down per XX millinSecond )
// direction: scroll direction's defined
// "up"
// "down"
// "left"
// "right"
//////////////////////////////////////////////////////////////////
scrollBar.prototype.addBar = function(barID, width, height, interval, direction)
{
//check parameters
var paraCount = arguments.length;
if ( paraCount < 1 )
{
alert("parameters count incorect!");
return;
//throw "parameters count inccorect!";
}
//width's default value
if ( typeof( width ) == "undefined" )
{
var width = 100;
}
//height's default value
if ( typeof( height ) == "undefined" )
{
var height = 100;
}
//interval's default value
if ( typeof( interval ) == "undefined" )
{
var interval = 1000;
}
//direction's default value
if ( typeof( direction ) == "undefined" )
{
var direction = "up";
}
//create scrollbar's inner properties
var barProp = new innerBarProp(barID, width, height, interval, direction);
var objBar = document.getElementById(barID);
if(__divinnerHTML!=null)
objBar.innerHTML=__divinnerHTML;
else
__divinnerHTML=objBar.innerHTML;
var barCount = this.barsArray.length;
this.barsArray[barCount] = barProp;
}
scrollBar.prototype.clear = function()
{
for(i=0;i<this.barsArray.length;i++)
this.barsArray.pop();
}
scrollBar.prototype.createScrollBars = function()
{
//get bar's count
var barCount = this.barsArray.length;
//if no bar add to scrollControl do nothing
if ( barCount == 0 )
{
return;
}
//init scroll bars
for ( var i=0; i<barCount; i++ )
{
var objBarID = this.barsArray[i].barID;
//if typeof objBarID is object
// that's meaning it inited
//if typeof objBarID is string
// init that scroll bar
if ( typeof( objBarID ) == "string" )
{
//get scroll <DIV> object
var objBar = document.getElementById( objBarID );
if (objBar == null)
{
//objBarID is not exist
if ( document.readyState == "complete" || document.readyState == "loaded" )
{
//the objBarID not exists in current document
//throw "the objBarID is not exists.";
alert("ScrollBar[" + objBarID + "]: not exist!");
return;
}
else
{
//wait for document to load objBarID
window.setTimeout("__scrollBarControl.createScrollBars()",50);
//exit processing..........
//and wait next time callbak
return;
}
}
//update barID
this.barsArray[i].barID = objBar;
}
}
for ( var i=0; i<barCount; i++ )
{
this.innerInitBar(i);
}
}
scrollBar.prototype.innerInitBar = function (index)
{
//get properties
var barID = this.barsArray[index].barID;
var width = this.barsArray[index].width;
var height = this.barsArray[index].height;
var interval = this.barsArray[index].interval;
var direction = this.barsArray[index].direction;
var maxValue = 0;
//set scrollBar's properties
with(barID)
{
style.width = width;
style.height = height;
noWrap=true;
switch( direction )
{
case "up":
maxValue = Math.max(scrollHeight, height);
style.overflowX = "visible";
style.overflowY = "hidden";
var barHtml = innerHTML;
var newHtml = "<table border='0' cellspacing='0' cellpadding='0'>\n";
newHtml += " <tr height='18'>\n";
newHtml += " <td> \n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += " <tr>\n";
newHtml += " <td height='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += " <tr>\n";
newHtml += " <td height='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += " <tr>\n";
newHtml += " <td height='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += "</table>\n";
var newHtml = "<table border='0' cellspacing='0' cellpadding='0'>\n";
newHtml += " <tr height='20'>\n";
newHtml += " <td> \n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += " <tr>\n";
newHtml += " <td height='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += " <tr>\n";
newHtml += " <td height='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += " <tr>\n";
newHtml += " <td height='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += "</table>\n";
解决方案 »
- 关于jquery中的$(this) 和 js中的 this 讨论
- jquery弹出层问题
- 一个疑问,请高手指点!
- 这段js代码在firefox里可以正常运行,在ie里却报缺少对象,还请大虾们指点迷津啊。
- 新手请教问题关于this.id
- 高手帮我看看啊 我写的哪里有问题, 为什么运行脚本呢?
- 如何使按钮在提交表单后失效?
- 怎样设置查询文本框关联的submit按钮啊(如果页面上有两个submit,按回车键怎么让它选?)
- 如何在用了<object data="xx.htm">后用脚本来控制 object里面的表单元素的值或innerHtml
- getParameter()来获取“爱好”选项的值
- 用radio控制select是否有效!急
- 怎么实现java和javascript的混写
innerHTML = newHtml;
break;
case "down":
maxValue = Math.max(scrollHeight, height);
style.overflowX = "visible";
style.overflowY = "hidden";
var barHtml = innerHTML;
var newHtml = "<table border='0' cellspacing='0' cellpadding='0'>\n";
newHtml += " <tr>\n";
newHtml += " <td height='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += " <tr>\n";
newHtml += " <td height='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += "</table>\n";
innerHTML = newHtml;
scrollTop = maxValue;
break;
case "left":
maxValue = Math.max(scrollWidth, width);
style.overflowX = "hidden";
style.overflowY = "visible";
var barHtml = barID.innerHTML;
var newHtml = "<table border='0' cellspacing='0' cellpadding='0' width='" + (maxValue * 2 ) + "'>\n";
newHtml += " <tr>\n";
newHtml += " <td width='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " <td width='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += "</table>\n";
innerHTML = newHtml;
break;
case "right":
maxValue = Math.max(scrollWidth, width);
style.overflowX = "hidden";
style.overflowY = "visible";
var barHtml = innerHTML;
var newHtml = "<table border='0' cellspacing='0' cellpadding='0' width='" + (maxValue * 2 ) + "'>\n";
newHtml += " <tr>\n";
newHtml += " <td width='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " <td width='" + maxValue + "' valign='top'>\n";
newHtml += barHtml + "\n";
newHtml += " </td>\n";
newHtml += " </tr>\n";
newHtml += "</table>\n";
innerHTML = newHtml;
scrollLeft = maxValue;
break;
default:
//throw "direction is inccorect!";
alert("ScrollBar[" + id + "]: direction is incorect!");
return;
}
//set mouse events
onmouseover = new Function("__scrollBarControl.mouseEvt(" + index + ",true);");
onmouseout = new Function("__scrollBarControl.mouseEvt(" + index + ",false);");
if(__firstTime) { __firstTime=false;
window.setInterval("__scrollBarControl.scroll(" + index + ");",interval);
}
//save maxValue
this.barsArray[index].maxValue = maxValue;
}
}
scrollBar.prototype.mouseEvt = function(index, stop)
{
this.barsArray[index].stopScroll = stop;
}
scrollBar.prototype.scroll = function(index)
{
//get properties
var barID = this.barsArray[index].barID;
var width = this.barsArray[index].width;
var height = this.barsArray[index].height;
var interval = this.barsArray[index].interval;
var direction = this.barsArray[index].direction;
var stopScroll = this.barsArray[index].stopScroll;
var preValue = this.barsArray[index].preValue;
var maxValue = this.barsArray[index].maxValue;
if ( stopScroll == true ) return;
switch(direction)
{
case "up":
preValue++;
if ( preValue >= maxValue )
{
preValue = 0;
}
barID.scrollTop = preValue;
break;
case "down":
preValue--;
if ( preValue <= 0 )
{
preValue = maxValue;
}
barID.scrollTop = preValue;
break;
case "left":
preValue++;
if ( preValue >= maxValue )
{
preValue = 0;
}
barID.scrollLeft = preValue;
break;
case "right":
preValue--;
if ( preValue <=0 )
{
preValue = maxValue;
}
barID.scrollLeft = preValue;
break;
}
this.barsArray[index].preValue = preValue;
}
//=================end of file===========================
</script>
<script>
var scrollBarControl = new scrollBar();
MoveTo("up");
function MoveTo(d)
{
scrollBarControl.clear();
scrollBarControl.addBar("myBarID", 346, 110, 100, d);
scrollBarControl.createScrollBars();
}
</script>
2、要显示的滚动记录 <DIV id=myBarID>
<table width="100%" height="20" border="0" cellpadding="0" cellspacing="0">
<% do while not rs.eof%>
<tr>
<td align="left" class="red12"> <%=rs("userzhenshiname")%> <%=rs("dwmc")%> <%=rs("bmzw")%>
</td>
</tr>
<%rs.movenext%>
<% loop%>
</table>
</div>