0

我正在尝试编写一个 javascript 脚本,在必要时将元素动态锚定到页面底部。这是我的代码示例:

thebox.style.right = (window.innerWidth - topleft.Left - abs.Left - thebox.offsetWidth)+'px'
thebox.style.left = ''
thebox.style.top = (topleft.Top - abs.Top)+'px'
thebox.style.bottom = ''

当我想将元素锚定到页面的顶部和右侧时,将调用此代码。其他锚点位置调用其他代码。

问题是,如果元素最初锚定在页面的右侧,它只会锚定在页面的右侧。当我将最初锚定在右侧的东西动态地锚定到左侧时,它会正确地锚定到左侧。当我将它锚回到右侧时,它正确地锚定在右侧。但是,如果它从未锚定在右侧,那么无论我做什么,它都不会锚定在右侧。

我究竟做错了什么?

4

2 回答 2

0

尝试使用这个我不确定这是否是解决方案,但它可能值得一试。

//anchoring left 
thebox.style.left= '0';
thebox.style.right= 'auto';

//anchoring right
thebox.style.left= 'auto';
thebox.style.right= '0';

希望它有效

于 2012-08-01T23:08:26.910 回答
0

如果我理解正确,您不需要 JavaScript 来定位元素。如果您在body水平和绝对位置添加元素,则只需 CSS 即可实现。然后要更改任何元素的位置,只需在 JS 中动态分配适当的类。

演示:http: //jsfiddle.net/elclanrs/x8CTY/

于 2012-08-01T23:14:05.540 回答