比如<table align=center><tr><td id=t1>abc</td></tr></table>
如果我要获取t1在页面中的绝对x,y坐标,我不得不先计算table的坐标再叠加(特别是left)
想问一下有没有直接获取t1绝对坐标的js函数
如果我要获取t1在页面中的绝对x,y坐标,我不得不先计算table的坐标再叠加(特别是left)
想问一下有没有直接获取t1绝对坐标的js函数
解决方案 »
- 求教关于window.location.href 问题
- 文字链接提交表单在IE中可以,在Firefox中提交不了
- jQuery的问题
- execCommand('CreateLink',true, 'http://www.www.www/123.htm') 的一个问题
- 菜鸟的我来问个菜菜的问题~~~~关于脚本对浏览的兼容问题~~
- 哪位高手帮我做一下这个题目,谢谢!
- if(document.FORM1.comment.value!="")这种写法达不到预计效果
- 谈谈<form>跟<div><span>的区别!
- 弹出窗口问题??
- 显示隐藏层的问题(急!)
- |zyciis| 如何监控一个checkbox的checked更改用onpropertychange的话在firefox中无效,谢谢 有代码
- jquery鼠标移动图片产生放大覆盖住原来的图片
offsetLeft
这两个东西 ?
function getTop(e){
var offset=e.offsetTop;
if(e.offsetParent!=null) offset+=getTop(e.offsetParent);
return offset;
}
//获取元素的横坐标
function getLeft(e){
var offset=e.offsetLeft;
if(e.offsetParent!=null) offset+=getLeft(e.offsetParent);
return offset;
}其原理就是利用HTMLElement.offsetParent属性,如果当前元素的父元素不是空(null),则在原本的offsetTop基础上加上当前的offsetTop,然后继续获取父元素的父元素的offsetTop,再将其加之,最终递归出该元素相对于整个浏览器画布的纵坐标。横坐标亦然。
getBoundingClientRect(),
居然有这么一个函数,我从来都没看到过=.=
x=oRect.left
y=oRect.top
这样就得到两个坐标了,楼上的递归法就是我目前用的
比如我在js中对新元素定位
newul.style.left=x;
newul.style.top=y;//x,y为上面得到的原元素的位置
按预期这个ul应该覆盖在原元素之上,但是实际的结果是在原元素的右侧,求教原因
这个以前是IE ONLY
后来FF也支持了 不知道其他浏览器怎么样