Chrome无法找到offsetTop

时间:2011-05-25 10:05:56

标签: javascript google-chrome

style.top chrome中的offsetTop是'对象DOM窗口', 它没有给出整数,为什么。 我谷歌这样的问题,但似乎我是唯一一个有这样的问题。

它们在firefox中运行良好。 如何在Chrome中获取元素的offsetTop。

代码:

<input type="button"id='test' value="clickme"/>
<script>
document.getElementById('test').addEventListener('click',function(){
    alert(this.offsetTop);
    top = this.offsetTop;
    alert(top);
},true)
</script>

嗯,非常有趣,它可以在警报功能中使用,但无法存储。

1 个答案:

答案 0 :(得分:2)

因为window.top已经是浏览器中的内置属性。见这里:https://developer.mozilla.org/en/DOM/window.top

此属性为只读(see here):

readonly attribute WindowProxy top;

这意味着作业top = this.offsetTop没有做任何事情。

这是由于全局命名空间污染而引起的问题的典型案例。不要这样做。相反,在本地声明变量:

document.getElementById('test').addEventListener('click', function() {
    var top = this.offsetTop;
    alert(top);
}, true);