在错误和焦点的情况下,jquery滚动到特定的div位置

我有一个隐藏的div与我的形式具体的错误信息.在表单提交之前,我运行一个验证例程来检查所有必填字段是否填有一些文本.如果没有,类“redAlert”的div在文本字段的正上方可见.当显示错误消息时,我也希望对话窗口向右滚动到此位置.我知道有很多插件可以做到这一点,但我想使用简单的Jquery来做.我试图A)找到第一个可见div与类redAlert,b)通过调用该div上的.offset()找到它的位置,然后c)调用窗口对象上的.scroll(),但我没有得到这个上班.让我知道如果我完全缺少某些东西,或者我的语法无效(我经常发现自己在使用Jquery的语法错误).以下是我的代码
另外 – 这只是找到可见的div(假设一次只有一个错误div),你能否提供一个选择器来找到第一个可见的div与一个特定的类.

var errorDiv = $('.redAlert:visible').attr("id");
var scrollPos = $("#"+errorDiv ).offset();
//alert(scrollPosition); // This alert always says 'null', why ?
$(window).scroll(scrollPos);
//Also tried scrollTo();

提前多谢.

var errorDiv = $('.redAlert:visible').first();
var scrollPos = errorDiv.offset().top;
$(window).scrollTop(scrollPos);

演示:http://jsfiddle.net/Cjuve/2/

翻译自:https://stackoverflow.com/questions/8885558/jquery-scroll-to-specific-div-position-in-case-of-error-and-focus

转载注明原文:在错误和焦点的情况下,jquery滚动到特定的div位置