js读取元素位置

骑猪看海 2010-08-02 03:27:45
代码如下

var K = document.getElementById("Text1");
function show() {
var div = document.createElement("div");
div.style.left = K.offsetLeft + "px";
div.style.top = K.offsetTop + 20 + "px";
div.style.width = K.offsetWidth + "px";
div.id = "wd_box";
alert(K.offsetParent);
}


上面代码也就是根据Text1这个文本框的位置创建一个弹出层
测试环境下页面只有一个文本框显示正常,但是如果页面元素太多。比如说有好多table后就走位了,查了下资料说offsetTop 是取距父元素的位置,如果有好多元素就要用offsetParent一级级的往上取,直到body,但具体怎么用不知所云,高手帮帮忙给点思路。
...全文
160 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangwenquan123 2010-08-02
  • 打赏
  • 举报
回复
而且jquery兼容性也好
像遮罩层用js,算那些屏幕宽高,而且还要考虑浏览器兼容比较麻烦
jquery就省事多
onlylikews 2010-08-02
  • 打赏
  • 举报
回复
网上有中文的帮助文档
http://jquery-api-zh-cn.googlecode.com/svn/trunk/index.html
骑猪看海 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 onlylikews 的回复:]
恩,jq很好用,特别是浏览器兼容问题处理得很好。
[/Quote]

有没有这方面的资料介绍下,中文的
onlylikews 2010-08-02
  • 打赏
  • 举报
回复
恩,jq很好用,特别是浏览器兼容问题处理得很好。
骑猪看海 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 onlylikews 的回复:]
jQuery.offset()
[/Quote]

大侠的方法果然好使,看来我真应该去学习下jQuery了
APP开发王 2010-08-02
  • 打赏
  • 举报
回复
帮顶了!
lishuai1030 2010-08-02
  • 打赏
  • 举报
回复
后台添加属性cbDel.Attributes.Add("onclick","要执行的脚本");
相当于前台OnClientClick事件 同理也可用这添加css样式
onlylikews 2010-08-02
  • 打赏
  • 举报
回复
jQuery.offset()
yf_zr 2010-08-02
  • 打赏
  • 举报
回复
后台执行OnClientClick怎样执行 那位高手帮帮忙
骑猪看海 2010-08-02
  • 打赏
  • 举报
回复
我该怎么办?
lishuai1030 2010-08-02
  • 打赏
  • 举报
回复
是啊 元素多了 就都 是距父元素的位置,有没其他方法,offsettop还没用过这个属性呢
IHandler 2010-08-02
  • 打赏
  • 举报
回复
参考一下这个
浏览

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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