2015-08-11 3 views
0

Когда я визуализирую представление в BackboneJS, я просто заменяю html моего контейнера: $('#container').html(this.template()), и он отлично работает, но когда пользователь немного прокручивает страницу и нажимает кнопку, которая отображает другой вид, его «положение прокрутки» остается и в том же месте, что создает плохой UX.Render view и прокрутите вверх в BackboneJS

То, что я хочу добиться: когда новый вид магистральная визуализируется пользователь должен увидеть самый верх страницы (как то, что происходит, если нажать обычную ссылку, которая вас на другую страницу с полной перезагрузки страницы).

Как я могу это достичь?

ответ

2

Существует несколько способов сделать это, вот несколько основных примеров, которые помогут вам начать работу.

В прослушивателе кнопок вашей кнопки вы можете добавить window.scrollTo (0,0) или $ (window) .scrollTop (0); для прокрутки вверху страницы.

Или ваш может поместить этот метод прокрутки запуска непосредственно на ваш взгляд, оказывают обратного вызова:

render: function() { 
    $(window).scrollTop(0); 
    return this; 
} 

Или, если ваш вид фактически спровоцировав новый маршрут, вы можете также слушать для этого изменения URL, а затем вызвать прокрутки.

var router = new AppRouter(); 
router.on("route", function() { 
    $("html,body").scrollTop(0); 
}); 
+0

Второй вариант - совершенный, спасибо! –