怎么才能scroll时两帧一起移动

naomi77 2003-10-17 04:42:52
我有一个表格,分成很多列。我做成两个帧,这样当横向拖动滚动条时,最左边2列保持不变(此2列在左边的帧里,而其他列在右边的帧里。)但是,由于记录数比较多,当拖动纵向滚动条时,只有最右边一帧移动,左边2列不动。怎样才能达到需要的效果?请指教
...全文
43 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
哇,不用那么复杂吧??
我觉得只要在滚动一帧时,将其的位移同时传给另外一帧即可
topmonkey 2003-10-17
  • 打赏
  • 举报
回复
别人的代码,可以参考一下。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//CN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<script language="javascript">
function doPrint() {
var innerString;

var result;
inner = document.body.innerHTML;
document.body.innerHTML = document.all.table1.innerHTML +document.all.dataContainer.innerHTML ;
window.print();
document.body.innerHTML = inner;
}
</script>
<SCRIPT>
var rowNum = 125;
var colNum = 4;
function drawTab (rows, cols, color, id)
{
sHTML = "<TABLE id='"+id+"' bgcolor='"+color+"' border=1 style='tableLayout:fixed'>";
sHTML += "\n<THEAD id='downTblHead'>\n";
i=0;
for (var j=0; j < cols; j++)
{
sHTML += "<TH id='a0"+j+"' nowrap style='word-wrap: break-word;'>这是: Row"+i+"Col"+j+"</TH>";
}
sHTML += "\n</THEAD>\n";
sHTML += "\n<TBODY>\n";
for (var i=1; i<rows; i++)
{
sHTML += "\n<TR>\n";

for (var j=0; j<cols; j++)
{
sHTML += "<TD id='a"+i+j+"' nowrap>这是: Row"+i+"Col"+j+"</TD>";
}
sHTML += "\n</TR>\n";
}

sHTML += "\n</TBODY>\n";
sHTML += "\n</TABLE>";
return sHTML;

}

function cloneHeader ()
{
var x = document.all['downTblHead'].cloneNode(true);
for (var j = 0; j < colNum; j++)
{
document.all['a0'+j].id = 'head'+j;
}
document.all['downTblHead'].id = "downTblHead4hidden";
document.all['upTbl'].appendChild(x);
document.all['upTbl'].width = document.all['downTblHead4hidden'].offsetWidth;
synchronizeHeader ()
}

function synchronizeHeader ()
{
var ok = true;
var max = 0;
while (ok && max < 20)
{
max++;
ok = false;
for (var j = 0; j < colNum; j++)
{
if (document.all['a0'+j].offsetWidth != document.all['head'+j].offsetWidth)
{
ok = true;
document.all['a0'+j].style.width = document.all['head'+j].offsetWidth;
}
}
}

}

function getScrollBraWidth ()
{
try
{
var elem = document.createElement("DIV");
elem.id = "asdf";
elem.style.width = 200;
elem.style.height = 300;
elem.style.overflow = "scroll";
elem.style.position = "absolute";
elem.style.visibility = "hidden";
elem.style.top = "0";
elem.style.left = "0";
document.body.appendChild (elem);
scrollWidth = document.all['asdf'].offsetWidth - document.all['asdf'].clientWidth;
document.body.removeChild (elem);
delete elem;
}
catch (ex)
{
return false;
}
return scrollWidth;
}

</SCRIPT>

<META content="MSHTML 6.00.2719.2200" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff onload="cloneHeader ();">
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
if (window.print) {
document.write('<form>'+ '<input type=button name=print value="打印页面" '
+ 'onClick="javascript:doPrint()"></form>');
}
// End -->
</script>
<table id ="table1" width="98%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>

<td bgcolor="#F2F2F2" align="center" nowrap><font size="5" color=#000000>测试</font></td>
</tr>
</table>
<DIV id=headerContainer style="Z-INDEX: 2; POSITION: absolute">
<TABLE id=upTbl style="tableLayout: fixed" bgColor=gray border=1>
<TBODY></TBODY></TABLE></DIV>
<DIV id=dataContainer
style="Z-INDEX: 1; OVERFLOW: scroll; POSITION: absolute; HEIGHT: 300px">
<SCRIPT language=JavaScript>
<!--
document.write(drawTab(rowNum, colNum, "", "data"));
document.all['dataContainer'].style.width = document.all['data'].offsetWidth + getScrollBraWidth ();
document.all['headerContainer'].style.width = document.all['data'].offsetWidth;
//-->
</SCRIPT>
</DIV></BODY></HTML>
qdubit 2003-10-17
  • 打赏
  • 举报
回复
关注!

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧