2010-08-10 3 views
0

Когда пользователь нажимает на определенную кнопку в нижней части сайта, над которым я работаю, он расширяется в форму комментария. Если на странице будет много другого контента, форма комментария будет расширяться ниже складки, и пользователь может не заметить, что он появился.Прокрутка окна во время анимации jQuery

Я хотел бы прокрутить страницу вниз по мере того, как форма комментария расширяется, чтобы привлечь внимание пользователя к ней. Я посмотрел на this question, но решение не работает, потому что моя форма анимируется, когда она расширяется, поэтому прокрутка останавливается только с видимой верхней частью формы. Кроме того, прыжки вокруг выглядят уродливо.

Вот мой текущий код.

$("#show").click(function() { 
    if (!$("#change-form").is(":visible")) { 
     $("#change-form").show("blind",{},500); 
     $(document).animate({scrollTop: $(document).height()}, 1000); 
    } 
    return false; 
}); 

в $ (документ) .animate линии очень похож на то, что я нашел в документации JQuery, но страница не прокручивается на всех. Я протестировал это в Chrome 5.0.375.125 и Firefox 3.6.8 без каких-либо успехов, хотя я читал, что $ (документ) должен работать в обоих браузерах. Почему страница не прокручивается?

ответ

0

Вы пробовали прокрутить? http://plugins.jquery.com/project/ScrollTo

+0

Я сделал, и это прокручивает, но оно прокручивается туда, где конец документа * используется *, а не после движущейся цели. Я могу установить количество прокрутки примерно на 150%, а скорость прокрутки - до 2000, но это работает очень спорадически. Какие-либо конкретные предложения по решению этой проблемы с этой библиотекой? – James

+0

Чтобы понять, что вы говорите, вы хотите, чтобы страница прокручивалась до конца расширенного содержимого? Если это неопределенная позиция, просто попросите команду scrollTo прокрутить до скрытого элемента в конце содержимого. – 2010-08-10 22:02:20

+0

Это работает в Firefox, но Chrome по-прежнему имеет такую ​​же проблему. Я решил это, используя функцию обратного вызова, которая прокручивается вниз. Таким образом, форма анимируется, если пользователь может ее увидеть, и она плавно прокручивается с помощью $ (document) .scrollTo («100%», 250); если пользователь не может. Спасибо за подсказку! – James

Смежные вопросы