为什么Ajax将我的窗口滚动位置重置为零?

时间:2012-03-01 16:52:43

标签: jquery scroll

my page中,我有一个标题DIV,一个链接和一个目标DIV。链接加载 - 通过jQuery load() - 目标DIV中的图片。

问题:如果你向下滚动一点然后点击链接,你会看到窗口滚动位置重置为零。然而,这是一个Ajax事件,滚动位置应保持完全相同!

请注意,只有在您第一次点击时才会出现这种情况。如果您重新加载页面并再次单击,图片将加载而不会滚动位置更改(正常行为)。如果要再次复制问题,则必须清理浏览器缓存。

知道这里发生了什么?

2 个答案:

答案 0 :(得分:1)

很简单......你的内部div有一个内联高度= 1500px的div。你正在用ajax替换它,所以当新内容不是同一高度时,身体正在缩小

答案 1 :(得分:1)

这是因为你的目标div会根据孩子的大小改变它的大小。

例如,如果您将target的高度设置为866px(图像的高度),并将子div的高度设置为较小的值(此时为1000px }),你不应该遇到这些问题(至少我在Chrome下不再有这个问题)