следующие JQuery кода прокручивает страницу к первой ошибке в виде:JQuery анимации scrollTop не работает должным образом
$('html,body').stop().delay(500).animate({scrollTop: $errors.filter(":first").offset().top -30},'slow');
Однако, если я заменю $('html,body')
с именем контейнера элемента, такого как класс сНу $('.myDivClass')
с фиксированным позиционированием, похоже, что он не работает. Он просто прокручивает в случайные места вверх и вниз с каждым представлением. Если элемент контейнера является чем-то другим, кроме html, body, он, похоже, не работает правильно.
Я не могу понять, что я делаю неправильно.
CSS-код контейнера элемента выглядит следующим образом (так что вы знаете, что я имею в виду):
.mcModalWrap1{
position:fixed;
top:0;
left:0;
width:100%;
padding:50px;
background-image:url(images/overlay.png);
overflow:auto;
z-index:999;
display:none;
}
Я попытался с помощью позиции() вместо смещения() для относительного позиционирования, но он не сделал разница.
Спасибо!
Обновление: похоже, для этого нет решения.
В каком браузере вы видите поведение? В Chrome 17 он работает нормально. Когда я отправляю форму, она прокручивается до первой ошибки.Если первая ошибка - это имя, она прокручивается вверху страницы. Если первая ошибка ниже, то она прокручивает меня к элементу ввода. – Jasper
Во всех моих браузерах он делает то же самое. IE, FF, Chrome, Opera. Однако встроенная версия работает отлично. – user1108996
@ Джаспер, не двигается ли вы альтернативно вверх и вниз для вас? – user1108996