可拖动分隔栏在firefox中拖动不流畅问题!

原方案如下,由js实现:

<html >
<head>
<title></title>
<script language="javascript">
var oSplitter, oTdSplitter, oTdLeft, oTdRight, oTable;
var posTdSplitter, posTable;
var bLoaded = false;
var bStart = false;
var iPadding = 0;
function Position(x, y)
{
 this.x = x;
 this.y = y;
}
function GetPosition(obj)
{
 var objThis = obj;
 var oBody = document.body;
 var oLeft = oTop = 0;
 while (objThis!=oBody)
 {
  oLeft += objThis.offsetLeft;
  oTop += objThis.offsetTop;
  objThis = objThis.offsetParent;
 }
 return new Position(oLeft, oTop);
}
function fnInit()
{
 oSplitter = document.getElementById("splitter");
 oTdSplitter = document.getElementById("tdSplitter");
 oTdLeft = document.getElementById("tdLeft");
 oTdRight = document.getElementById("tdRight");
 oTable = document.getElementById("table");
 posTable = GetPosition(oTable);
oSplitter.style.height = oTdSplitter.offsetHeight;
oSplitter.style.width = oTdSplitter.offsetWidth;
 bLoaded = true;
}
function fnMouseDown(event)
{
 if (bLoaded == false)
 {
  alert("页面加载未完成,请稍候!");
  return;
 }
 posTdSplitter = GetPosition(oTdSplitter);
 iPadding = posTdSplitter.x - event.clientX;
 oSplitter.style.left = posTdSplitter.x;
 oSplitter.style.top = posTdSplitter.y;
 oSplitter.style.display = "block";
 if (oSplitter.setCapture)
  oSplitter.setCapture();
 bStart = true;
}
function fnMouseUp(event)
{
 if (bStart == true)
 {
  oSplitter.style.display = "none";
  if (event.clientX > posTable.x && event.clientX < posTable.x + oTable.offsetWidth - oTdSplitter.offsetWidth)
  {
   oTdLeft.style.width = event.clientX - posTable.x;
  }
  if (oSplitter.releaseCapture)
   oSplitter.releaseCapture();
  bStart = false;
 }
}
function fnMouseMove(e)
{
 if (bStart == true)
 {
 e=e||event;
  oSplitter.style.left = e.clientX + iPadding;
 }
}

</script>
</head>
<body οnlοad="fnInit();" οnmοuseup="fnMouseUp(event);" οnmοusemοve="fnMouseMove(event);" style="margin:0px;" onselectstart="return false;">

<div style="position: absolute;width:4px;height:100%;background-color: black;z-index:9999;display:none;cursor: col-resize;" id="splitter"></div>

 <table cellspacing="0" cellpadding="0" border="0" style="height:100%; width:100%;" id="table">
 <tr>
  <td style="width:200px" id="tdLeft">
   
     目录树
    </td>
  <td style="width:4px; overflow:hidden;cursor: col-resize;border-left:1px solid black;border-right:1px solid black;" id="tdSplitter" οnmοusedοwn="fnMouseDown(event);">&nbsp;</td>
  <td id="tdRight" >
   
      <iframe name="workspace" frameborder="0" style=" width: 100%; height: 100%"></iframe>
    
  </td>
 </tr>
</table>
</body>
</html>

======》END!
————————————————————————————————————————————————


解决方案如下,使用html标准标签frameset实现:

<html>
<head>
    <title></title>
    <meta name="designer" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<frameset id="sidebar_content" cols="230, *" frameborder="1" border="6" framespacing="5"
    bordercolor="#A1C7F9">
    <frame name="NavigetionFrame"  scrolling="no" frameborder="1" />
    <frame name="ContentFrame" frameborder="0" />
</frameset>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值