我建了一个web 用户控件做导航栏,里面有1段是:<A class="link2" href="productInfo.aspx"><FONT size="2">产品信息</A><A class="link2" href="personnelInfo.aspx">人员信息</A> <a class="link2" href="stat.aspx">主菜单</a>
后来要把主菜单做成有下拉菜单样子,我就加了一个曾,然后上面该成:
<A class="link2" href="productInfo.aspx"><FONT size="2">产品信息</A>
<A class="link2" href="personnelInfo.aspx">人员信息</A> <a onmouseover="s.style.display='';s.style.left=getIE(this)+5;s.style.width=22;" onmouseout="s.style.display='none';">主菜单</a>
层的代码是:
<div id="s" onmouseover="s.style.display='';" style="DISPLAY: none; LEFT: 220px; POSITION: relative; TOP: 1px; BACKGROUND-COLOR: #dddddd"
onmouseout="s.style.display='none';">
<table width="80" bgColor="#f0f0f0">
<tr>
<td align="center" height="22"><A href="1.asp"><font size="2">销售1</font></A></td>
</tr>
<tr>
<td align="center" height="20"><A href="2.asp"><font size="2">销售2</font></A></td>
</tr>
<tr>
<td align="center" height="20"><A href="2.asp"><font size="2">数据1</font></A></td>
</tr>
<tr>
<td align="center" height="20"><A href="2.asp"><font size="2">数据2</font></A></td>
</tr>
</table>
</div>javascript是:
<script language="javascript">   
  function   getIE(e){   
  var   l=e.offsetLeft;   
  while(e=e.offsetParent){   
  l+=e.offsetLeft;   
  }   
  return   l;   
  }   
</script>问题是:这个用户控件引用到aspx后为什么当鼠标在<主菜单>上停留时,那个div层总是不在<主菜单>的正下放显示,我把position改成:static或absolute,div出现在<主菜单>的正下方前面好多,position为:relative是在后面好多,而且我改变div层的坐标位置,在用户控件里显示是有改变的,但是引用到aspx后还是那2个地方,要么很前面,要么很后面,这是为什么,怎么改,或者有什么好方法可以给我解决,谢谢,马上加分

解决方案 »

  1.   

    晕,大半天了没人教教我咯!HELP HELP HELP
      

  2.   

    是啊------------------------------------
    您的经营之道 http://info.7ecity.com/
      

  3.   

    你这个用户控件太乱了,并且基本上是javascript、css,不是asp.net。你的问题也是纯粹css和dhtml问题(e.offsetLeft你觉得好吗?)。不是asp.net问题,我就尽量不回答。一种简单的布局,是老实地用table来布局,下来菜单(样式position是absolute)本来就是跟一级菜单项在同一列。本来使用table非常简单,你非要自己写程序去计算,不知道受那种“html标准流派”蛊惑了。