如何在动态生成新内容时更改偏移值?

时间:2011-12-12 06:16:33

标签: javascript jquery offset

当使用offset()方法加载页面时,我们得到输入框的偏移值。但是,在该输入框上方,有一个按钮,在单击时显示隐藏的div(并且此div可以根据动态内容具有不同的高度)。单击该按钮后,偏移值保持不变,但现在文档的高度已增加。我们想要发生的是,当文档高度发生变化时,偏移值也会动态变化。

这可能吗?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:0)

如果我能从您提供的信息中找出您所遇到的问题,我不能100%确定。如果我们可以看到一些代码或者有问题的页面链接,那么提供准确的解决方案会更容易。

听起来你正在使用jQuery的偏移方法来确定页面加载时输入框的位置。这听起来像你正在存储这个价值,这不是你想要的。对offset的调用只会在调用时提供元素的位置。

相反,像这样缓存选择器

var $stored_selector = $('#your .selector');

每当你想要当前位置时调用它上面的方法

// returns current position relative to the document
$stored_selector.offset();

答案 1 :(得分:0)

.offset() 动态的。您不是将值存储在变量中吗?只需直接访问$(element).offset().top,您就可以获得正确的值。

jsFiddle:http://jsfiddle.net/we5FP/