AJAX - 点击事件后停止滚动到顶部

时间:2014-03-18 08:15:43

标签: javascript jquery ajax

我尝试了一些事情来阻止在特定的ajax事件之后将页面滚动到顶部但没有结果。这是一个例子:

$(".changeviewdispatch > button").each(function () {
    $(this).on("click",function(e) {
        e.preventDefault();
        var clicked_button_val = $(this).val();
        $.ajax({
            type : 'POST',
            url : 'dispatch.php',
            data: {'submitview':clicked_button_val},
            success : function (d) {
                //alert(d);
                window.location.reload(true);
            },
            //error : errorHandler
        });
        return false;
    });
});

点击后页面滚动到顶部... preventDefault并返回false应该不起作用...

一般问题:如何在ajax事件后停止滚动到顶部?

2 个答案:

答案 0 :(得分:1)

window.location.reload(true);关于你ajax成功正在重新加载页面。滚动条将默认为页面刷新时的顶部。

如果您希望页面保持静态,则以真AJAX方式,然后您需要根据AJAX调用的响应更新页面中的内容。如果你重新加载页面,那么你就错过了这一点。

希望这清楚。

答案 1 :(得分:0)

1)在body标签开始后创建mainDiv ..

2)将下面的代码(使用jquery)放在你想要滚动页面的地方。

$('html, body').animate({
     scrollTop: $("#mainDiv").offset().top
 }, 2000);