我有以下代码段可将表单滚动到第一个错误:
$('html,body').stop().delay(500).animate({scrollTop: $errors.filter(":first").offset().top -30},'slow');
我的 jquery 验证代码末尾的完整块如下所示。如果提交时出现错误,它会将表单滚动到第一个错误。
var $errors = $(".mcError");
if($errors.size() > 0){
if(settings.mcScrollToError){
$('html,body').stop().delay(500).animate({scrollTop: $errors.filter(":first").offset().top -30},'slow');
}
return false;
}
else{
mcResponse('', false);
return true;
}
但是,如果我将 替换$('html,body')
为容器元素的名称,例如 div class $('.myDivClass')
,它似乎效果不佳。它只是滚动到随机位置。
容器元素的 css 看起来像这样(所以你知道我的意思):
.mcModalWrap1{
position:fixed;
top:0;
bottom:0;
left:0;
right:0;
padding:50px;
background-image:url(images/overlay.png);
overflow:auto;
z-index:999;
display:none;
}