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>
嗯,非常有趣,它可以在警报功能中使用,但无法存储。
答案 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);