2011-12-12 66 views
0

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

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

回答

0

我不能100%确定我是否能够根据您提供的信息来识别您遇到的问题。如果我们可以看到一些代码或者有问题的页面的链接,那么提供精确的解决方案会更容易。

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

相反,你想在当前位置

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

.offset()动态每次缓存选择这样

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

并调用该方法就可以了。你没有将值存储在变量中吗?只需直接访问$(element).offset().top,即可获得正确的价值。

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