当页面使用offset()方法加载时,我们正在获取输入框的偏移值。但是,在该输入框上方,有一个按钮在单击时显示隐藏的div(并且此div根据动态内容可以有不同的高度)。单击该按钮后,偏移值保持不变,但现在文档的高度已增加。我们想要发生的是,当文档高度改变时,偏移值也会动态改变。如何在新内容动态生成时更改偏移值?
这可能吗?如果是这样,怎么样?
当页面使用offset()方法加载时,我们正在获取输入框的偏移值。但是,在该输入框上方,有一个按钮在单击时显示隐藏的div(并且此div根据动态内容可以有不同的高度)。单击该按钮后,偏移值保持不变,但现在文档的高度已增加。我们想要发生的是,当文档高度改变时,偏移值也会动态改变。如何在新内容动态生成时更改偏移值?
这可能吗?如果是这样,怎么样?
我不能100%确定我是否能够根据您提供的信息来识别您遇到的问题。如果我们可以看到一些代码或者有问题的页面的链接,那么提供精确的解决方案会更容易。
听起来好像你正在使用jQuery的偏移方法来确定页面加载时输入框的位置。这听起来像是你存储的价值,这不是你想要的。对偏移的调用只会提供调用时元素的位置。
相反,你想在当前位置
// returns current position relative to the document
$stored_selector.offset();
.offset()
是动态每次缓存选择这样
var $stored_selector = $('#your .selector');
并调用该方法就可以了。你没有将值存储在变量中吗?只需直接访问$(element).offset().top
,即可获得正确的价值。
jsFiddle:http://jsfiddle.net/we5FP/