Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在ajax成功方法中链接到后面的元素_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 在ajax成功方法中链接到后面的元素

Javascript 在ajax成功方法中链接到后面的元素,javascript,jquery,ajax,Javascript,Jquery,Ajax,所以我对我的表单提出了一个ajax请求。它将信息存储在数据库中,然后隐藏表单并显示感谢信息。但是,我需要浏览器来捕捉新的感谢信息 因此,就像在普通页面上一样,您可以执行以下操作: <a href="www.mywebsite.com/#test"></a> <div id="test"></div> $.ajax({ // ... success: function() { $('html, body').anim

所以我对我的表单提出了一个ajax请求。它将信息存储在数据库中,然后隐藏表单并显示感谢信息。但是,我需要浏览器来捕捉新的感谢信息

因此,就像在普通页面上一样,您可以执行以下操作:

<a href="www.mywebsite.com/#test"></a>
<div id="test"></div>
$.ajax({
    // ...
    success: function() {
        $('html, body').animate({
            scrollTop: $("#thankyou").offset().top
        }, 0);
    }
});

因此,如果单击该链接,它会将您捕捉到图元


如何在ajax成功方法中自动完成此操作?

类似这样的方法应该可以做到:

var messagePos = $("#test").offset();
window.scrollTo(0, messagePos.top);

offset()
函数获取元素相对于文档的位置。然后
window.scrollTo()
函数移动到文档中指定的x和y位置。在本例中,x是0,y是消息div的顶部。

因此,基本上,在成功回调中,您必须有如下内容:

<a href="www.mywebsite.com/#test"></a>
<div id="test"></div>
$.ajax({
    // ...
    success: function() {
        $('html, body').animate({
            scrollTop: $("#thankyou").offset().top
        }, 0);
    }
});

如果你想让它变得平滑,你只需将
0
更改为
500
(半秒)。

你需要给我更多的东西,因为这是我的工作。发生了什么?什么也没发生,我的javascript在另一个文件中。但实际上什么都没有发生,控制台错误,什么都没有?好你必须向我展示成功函数,因为这样我就无法检查你是否做错了什么。