Как лучше прокрутить окно браузера для расширения элементов?

StackOverflow https://stackoverflow.com/questions/245768

  •  05-07-2019
  •  | 
  •  

Вопрос

Что я хочу сделать, так это прокрутить окно вниз, когда я разверну элементы на своей странице.

Эффект, которого я пытаюсь достичь, подобен комментариям переполнения стека. Если он выходит за пределы страницы, он прокручивается вниз, чтобы вместить все комментарии в окне.

Каков наилучший способ сделать это?

Изменить. Я использую JQuery.

Это было полезно?

Решение

Этот плагин JQuery хорошо работал для меня: http://demos.flesler.com/jquery/scrollTo/

Другие советы

Если у вас есть преимущество использования Prototype, вы можете использовать $ (element) .scrollTo () .

В противном случае общая идея состоит в том, чтобы рассчитать совокупное смещение элемента, а затем установить соответственно window.scrollTop window.scrollLeft ).

Вы можете сделать это с помощью Scriptaculous (построено поверх Прототип ):

new Effect.ScrollTo('someDiv',{...some parameters...})

Он дает вам более точное управление, чем один только Prototype (задержка перед запуском, длительность и события обратного вызова (например, afterFinish), которые позволяют вам запускать другие эффекты или что угодно, что вы выбираете. не прыгать.

Если вы знаете, каким будет следующий элемент в источнике, вы можете просто перейти к этому элементу (location.href = " # ... "). Это будет использовать «прокрутку» браузера и не использовать библиотеки.

Вы можете использовать этот код, который в порядке, но не идеален. Основано на предложении blonkm

function scrollTo( Selector ){
  $(Selector).before("<a name='scroll' id='scroll'></a>");
  document.location.hash = 'scroll';
  $('scroll').remove();
}

Это должно сработать. Требуется jQuery, но вы уже сказали, что используете это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top