◎◎¥¥¥¥¥¥¥¥¥◎关于层的定位问题。。◎◎◎◎

xczgb 2006-01-14 09:50:15
层没有在某个表格的单元格中的时候没有问题。。
在就不准确了。
代码如下:
function getAbsLeft(e)
{var l=e.offsetLeft;while(e=e.offsetParent) l+= e.offsetLeft;return l; }
function getAbsTop(e)
{var t=e.offsetTop; while(e=e.offsetParent) t += e.offsetTop; return t;}

function aa(id)
{
var mydiv = document.getElementById('divv');
var mytxt = document.getElementById(id);
mydiv.style.left = getAbsLeft(mytxt);
mydiv.style.top = getAbsTop(mytxt)+mytxt.height;
}
...全文
153 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
laochake 2006-01-16
  • 打赏
  • 举报
回复
这个函数应该这样写:
function showmsg(target,msgI){
var ss=getoffset(target);
obj=document.getElementById("CalFrame")
var ss1=getoffset(obj.offsetParent);
obj.innerHTML=msgArray[msgI];
obj.style.display='';
obj.style.left=ss[1]-ss1[1];
obj.style.top =ss[0]-ss1[0]+target.offsetHeight;
}
xczgb 2006-01-15
  • 打赏
  • 举报
回复
救命啊。。我把代码贴上。。请你们复制运行下就知道了。。分不够再加

<script language="javascript">
//这里初始化每个链接显示的内容
var msgArray=new Array();
msgArray[0]="<a href='http://sports.sina.com/'>体育频道</a> 生活频道";
msgArray[1]="<table width=200 style='border:solid 1px #ccccc'><tr><td>第二个连接显示内容</td></tr></table>";
msgArray[2]="<img src='http://www.blueidea.com/articleimg/bbsimg/topic5.gif'>";
msgArray[3]="ssssssssssssss";

//显示提示层 target:显示目标,msgI:显示哪个内容数组
function showmsg(target,msgI){
var ss=getoffset(target);
obj=document.getElementById("CalFrame")
obj.innerHTML=msgArray[msgI];
obj.style.display='';
obj.style.left=ss[1];
obj.style.top=ss[0]+target.offsetHeight;
}

//得到页面上元素位置
function getoffset(obj)
{
var t=obj.offsetTop;
var l=obj.offsetLeft;
while(obj=obj.offsetParent)
{
t+=obj.offsetTop;
l+=obj.offsetLeft;
}
var rec = new Array(1);
rec[0] = t;
rec[1] = l;
return rec
}
</script>

<!--以下是应用实例-->
<TABLE id="Table1" style="Z-INDEX: 103; LEFT: 100; POSITION: absolute; TOP: 10" borderColor="#ff3300"
cellSpacing="0" cellPadding="0" width="300" border="1">
<TR>
<TD>

<div id="CalFrame" style="display:none;position:absolute;">
</div>
</TD>
<TD>
<INPUT type=text name="txt" id="txt" size=9 value='' onclick=showmsg(this,1)></TD>
<TD></TD>
</TR>
<TR>
<TD>
<input name="TextBox1" type="text" id="TextBox1" onclick=showmsg(this,3)/></TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>
<input name="TextBox2" type="text" id="TextBox2" onclick=showmsg(this,2) /></TD>
<TD></TD>
<TD></TD>
</TR>
</TABLE>
laochake 2006-01-15
  • 打赏
  • 举报
回复
好象有时候会差一两个像素,我也搞不清为什么
laochake 2006-01-15
  • 打赏
  • 举报
回复
好象有时候会差有两个像素,我也搞不清为什么
xczgb 2006-01-15
  • 打赏
  • 举报
回复
就说 层嵌套在表格中位置就不准确了 啊
xczgb 2006-01-15
  • 打赏
  • 举报
回复
我先结贴..你有MSN吗..大哥..这东西急啊 ..
ice_berg16 2006-01-15
  • 打赏
  • 举报
回复
自定义控件?
那有什么关系? 或者直接用DOM动态添加这个层也行哦
xczgb 2006-01-15
  • 打赏
  • 举报
回复
不能放在外边 ..因为我是做的自定义椌件..格式都固定了的 ..

我的意思是说 DIV和椌件都放在表格里面.怎么样单击表格层就在椌件的下边对齐..
hbhbhbhbhb1021 2006-01-15
  • 打赏
  • 举报
回复
不知道要放在表格什么位置
你把<div id="CalFrame" style="display:none">
</div>
这个改成这样就进表格了
但是不知道这样是不是你的需求,是把图片放在第一行左面还是第二行右面,还是其他地方
ice_berg16 2006-01-15
  • 打赏
  • 举报
回复
为什么要放到表格里,放到外面不是很好吗
hax 2006-01-15
  • 打赏
  • 举报
回复
你没有计算padding和margin等。当然不准。
xczgb 2006-01-15
  • 打赏
  • 举报
回复
怎么没有人啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ice_berg16 2006-01-14
  • 打赏
  • 举报
回复
描述不清。
xczgb 2006-01-14
  • 打赏
  • 举报
回复
一个人都没有 ?

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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