为什么this.offsetLeft 0?

时间:2010-11-03 18:19:41

标签: javascript html

I am working on a js player并且搜索栏不想玩得很好。你可以看到两个页面加载,它们都正常工作。现在点击第一个或第二个div,上面有play img,会出现一个条。当你点击那里时,条形不精确。它的几个像素关闭。

this.offsetLeft给了我0而不是10来打破这个。我该如何解决?

- 编辑 - 我仍然不明白为什么,但我决定再次看一下,并删除我粘贴的随机css。我删除了这一行,它的工作原理。我不知道该块有什么作用,但我知道没有那条线它目前看起来是一样的。玩家还没有完成,所以也许我需要这个并重温这个问题

position:relative;

2 个答案:

答案 0 :(得分:1)

position:relative样式通常用于使元素成为绝对定位的子元素的“原点”。换句话说,position:absolute的子元素从相对父级的位置计算其位置。 (而不是窗口)这样子元素就会跟随父元素放在哪里。

相对定位还允许您使用'left'和'top'来调整元素从其正常位置的位置。

该样式还可用于修复Internet Explorer中的定位和滚动错误。

答案 1 :(得分:0)

这个问题可能为时已晚,但我的经验在这里很有用。 当我调用getOffsetLeft()方法时,我遇到了同样的问题,我得到了0。 您必须先将小部件添加到容器中,然后调用getOffsetLeft()方法。