jquery scroll to specific div position in case of error and focus

У меня есть скрытый div с определенными сообщениями об ошибках по всей форме. Перед отправкой формы я запускаю процедуру validate, чтобы проверить, заполнены ли все необходимые поля каким-либо текстом. Если нет, то div с классом 'redAlert' становится видимым прямо над текстовым полем. Я также хочу, чтобы диалоговое окно прокручивалось вправо до этой позиции, когда отображаются сообщения об ошибках. Я знаю, что для этого существует довольно много плагинов, но я хочу сделать это с помощью простого Jquery. Я пытаюсь A) найти первый видимый div с классом redAlert, b) найти его позицию, вызвав .offset() на этом div, а затем 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();

Заранее большое спасибо.

11
задан user1006072 16 January 2012 в 19:56
поделиться