使用 ScrollTo jQuery 插件提交表单后滚动到错误和成功消息

Pau*_*aul 2 javascript forms error-handling jquery scrollto

到目前为止,我仅针对错误消息正常工作。但是,我希望这也适用于成功消息。当按下联系表单中的提交按钮时,就会发生这种情况。单击页面右上角的联系人即可滚动到该联系人。

您可以在这里进行测试。

这是我用于错误消息的 jQuery:

     $(document).ready(function() {
     $(".error:first").attr("id","errors");
    $("#errors").each(function (){
        $("html,body").animate({scrollTop:$('#errors').offset().top-175}, 1000);
    });
  });
Run Code Online (Sandbox Code Playgroud)

有什么方法可以修改它以使用相同的 offset().top-175 滚动到 #success 和 #errors 吗?

提前致谢!

sde*_*ont 5

你可以这样做:

  $(document).ready(function() {
     var pos = null;
     if($("#contact-form #errors.visible").length > 0)
        pos = $('#errors').offset().top;

     if($("#contact-form #success.visible").length > 0)
        pos = $('#success').offset().top;

     if(pos != null)
         $("html,body").animate({scrollTop:pos-175}, 1000);
  });
Run Code Online (Sandbox Code Playgroud)

并修复脚本“js/contact_script.js”必须在 JQuery lib 之后声明的事实