jQuery动态设置对象的位置?

标签 jquery css position css-position

好吧,我有一个奇怪的困境。当我得到一个元素的位置并输出时,我实际上得到了这个物体的真实坐标。像下面这样:

var el = $('#element');

var position = el.position();

console.log(position);

给出的输出是这样的:

Object { top=0, left=120}

效果很好,但现在如果我将对象设置为 position:absolute,我会得到一个奇怪的输出。下面的代码是我正在做的一个例子。

var el = $('#element');

var position = el.position();

el.css({
    top: position.top + 'px',
    left: position.left + 'px',
    position: 'absolute'
});

console.log(position);

现在我得到的输出类似于下面的输出。

Object { top=0, left=0}

所以看起来 position:absolute 正在重置顶部和左侧。

我的问题是......如何在通过 jQuery 将对象设置为 position:absolute 时设置对象的左侧和顶部位置?

http://jsfiddle.net/sbe3C/2/

更新 2: 好的,正如我在下面评论的那样,这个问题似乎只在我尝试将位置绝对设置为 each() 循环内的对象时才会发生。我在下面有一个 jsfiddle 示例。

http://jsfiddle.net/geocalleo/atNFz/

最佳答案

我想通了!问题是我需要从下到上迭代元素。我从另一个question on StackOverflow得到了答案.

现在看起来像这样

$($('body > div').get().reverse()).each

查看 jsFiddle .

关于jQuery动态设置对象的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15283331/

相关文章:

css - 在 div float 上具有相对位置的 div

javascript - Jquery 在点击时改变颜色 - 旋钮旋钮

javascript - 有什么办法可以阻止 Chrome 开发者工具中的 div 滑动?

java - itext7 的绝对位置

javascript - 最低元素层的jquery悬停

iphone - 为什么我的网页不能在 Iphone 浏览器中换行?

html - 在同一行居中和定位元素

javascript - 如何在每次循环内调用小程序方法时更新进度条(不仅仅是循环完成时)?

Jquery为具有自动增量值的表添加动态类名

javascript - 如何使用 javascript 获取嵌套 Json 对象的名称