Окно прокрутки без перехода (JavaScript или хэштег) - PullRequest
1 голос
/ 25 января 2012

Мне нужно решение, использующее хэштег, указывающий на имя тега привязки, или javascript.

JavaScript, который я сейчас использую, выглядит следующим образом window.scroll(0, 20000);. Проблема в том, что это приводит к резкому падению окна при входе пользователя на страницу.

Я знаю, что есть анимации jQuery, которые делают это движение более постепенным. Однако то, что я хочу, это то, что делает движение окна незаметным для пользователя. Я хочу быть таким, как если бы пользователь приземлился внизу страницы.

Ответы [ 3 ]

2 голосов
/ 25 января 2012

Проблема, с которой вы сталкиваетесь, заключается в том, что вы хотите перейти к нижней части страницы, которая еще не загружена.Я хотел бы рассмотреть возможность загрузки страницы в скрытом формате, а затем показать ее, когда она все загрузится, и после прокрутки пользователя в нужном месте.Используйте фокус или выделите методы.

Посмотрите на веб-сайт группы филаментов.

http://filamentgroup.com/

они скрывают страницу с экраном загрузки доэто готово.

Таким образом, никакого рывка нет.

Надеюсь, это поможет.

0 голосов
/ 27 января 2012

Ответ Teemu, похоже, не работает для меня (он идет прямо ко дну, делая цикл с шагом scrollBy невидимым), потому что он не реализует задержку.

Если вы хотите анимироватьсверху вниз страницы за 1000 мс, попробуйте что-то более похожее на это:

for (var n = 0; n < 1000; n += 1) {
    setTimeout(function () {
        window.scrollBy(0, document.height / 1000);
    }, n);
}

Это даст анимацию в 1 секунду (1000 мс) с прокруткой вниз до 1000 шагов.

0 голосов
/ 25 января 2012

В цикле это работает, если страница полностью загружена и отображается:

for(var n=0;n<1000;n++) window.scrollBy(0,20);

(Обратите внимание, что 20 * 1000 = 20000, что было первоначальным местом для прокрутки.)

...