如何在AJAX调用后找到负责滚动的JS代码

时间:2013-12-18 12:01:40

标签: javascript jquery html css ajax

在我的网站上我使用了很多jQuery插件,我无法理清为什么我的页面在AJAX调用后滚动到顶部。

抱歉,无法粘贴代码,因为即使我不确定哪个插件导致了这个问题,并且有任何简单的方法可以找到为什么我的页面在AJAX调用后向上滚动。

https://dev.ther8server.com托管的测试项目(对不起自签名SSL)

搜索布里斯班(必须等到自动完成并选择布里斯班,昆士兰,澳大利亚)

可以将日期留空

在酒店列表中,在结尾处有一个“显示更多优惠”按钮,当我点击它加载200多个酒店列表但不幸的是它向上滚动,人们需要从上往下滚动。

有没有简单的方法可以找到哪个元素或哪个插件负责此滚动?

我在Chrome Inspector和Firebug中尝试过,但找不到正确的代码。

感谢。

3 个答案:

答案 0 :(得分:1)

在你的jquery.main.js中我可以看到这个函数。

complete: function(data, textStatus, errorThrown) {
            //remove the loader and move up             
            $('#ajaxload_loader').hide();
            $('html, body').animate({scrollTop: 0}, 'fast');
        }

这一行$('html, body').animate({scrollTop: 0}, 'fast');是罪魁祸首。

答案 1 :(得分:0)

在ajax调用之后,您是否删除/替换html内容控件(例如div或table或tr或p)然后添加新的html内容?如果是这种情况,我会说这是原因。因为它可能会降低整个网页/文档的高度。

答案 2 :(得分:0)

只是表面上检查了你的代码,发现在ajax调用后你正在设置响应如下:

$('#ajaxload_pane').html(data);

相反,您应该只使用以下新数据附加数据:

$('#ajaxload_pane').append(data);

目前看来你再次获取整个列表,ajax调用应该只返回酒店的新条目。