2013-03-04 66 views
0

我已经测试所有滚动到DIV ID的方式,但不工作,我知道是什么问题,但我不知道是什么,这是我的jQuery脚本滚动到一个div后jQuery的形式提交

$("#sub").click(function() { 

$("#myForm").validate({ 
     rules: { 
     page: { 
      required: true, 
      url: true 
     }, 
     link: { 
      required: true, 
      url: true 
     } 
     }, 
     submitHandler: function(form) { 
     $.post($("#myForm").attr("action"), $("#myForm :input").serializeArray(), 
     function(info){ 
      $("#result").html(info); 
     }); 

     clearInput(); 

     $("#myForm").submit(function() { 
      return false; 
     }); 
        } 
    }); 
}); 

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

我不知道是否有东西混合的东西,但jQuery不滚动我测试scrolltop()函数在一个新的PHP文件,并正常工作,但是当我在这个文件上使用它不。

UPDATE:

感谢您的帮助netblognet我已经得到了它,我有这样的:

$("#sub").click(function() { 

    $("#myForm").validate({ 
      rules: { 
      page: { 
       required: true, 
       url: true 
      }, 
      link: { 
       required: true, 
       url: true 
      } 
      }, 
      submitHandler: function(form) { 
      $.post($("#myForm").attr("action"), $("#myForm :input").serializeArray(), 
      function(info){ 
       $("#result").html(info); 
       //$(this).animate(function(){ 
       $('html, body').animate({ 
        scrollTop: $("#result").offset().top 
        }, 2000); 
      //}); 
      }); 


      $("#myForm").submit(function() { 
       return false; 
      }); 
         } 
     }); 
}); 

我把代码放在同一个地方的收入结果:d

+0

jsFiddle please。 – 2013-03-04 06:18:04

回答

3

你必须在提交的回调中运行你的动画。初始函数运行时触发回调。 (在这种情况下为提交功能)。

$("#myForm").submit(function() { 
    $('html, body').animate({ 
     scrollTop: $("#result").offset().top 
    }, 2000); 
    return false; 
}); 

如果您的表单是动态加载的,则必须附加处理程序。

$('#myForm').on('submit', function() { 
    $('html, body').animate({ 
     scrollTop: $("#result").offset().top 
    }, 2000); 
    return false; 
}); 
+0

我已经测试过了,不工作:(我不知道是否因为我使用外部文件,因为如果我在中使用它,但是如果我使用.js文件如果是文件上的唯一操作 – ozonostudio 2013-03-04 06:40:49

+0

您是否测试过您的包含.js文件中的任何函数是否正常工作?您的文件可能未正确包含Habe您尝试在浏览器中按F12并检查脚本/ js控制台?也许你可以看到那里的错误... – netblognet 2013-03-04 06:47:43

+0

.js文件中的所有其他操作都能正常工作,这是唯一存在问题的行,并且控制台不会向我显示任何问题,并且不管是否我清理所有的.js文件,我只把你的例子,脚本继续工作 – ozonostudio 2013-03-04 07:00:44