Rails - заставляет окно прокручивать позицию сверху, когда рендерится новый фрагмент - PullRequest
0 голосов
/ 01 июня 2018

У меня есть приложение rails, в котором я динамически изменяю содержимое путем рендеринга партиалов

<% content_for(:content) do -%>
    <%= render partial: "registrations/partials/#{@current_user.patient_metadata.registration_step}" %>
<% end -%>

Частицы меняются после отправки формы, которая является частичной.

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

Я попытался добавить:

$(document).ready(function() {
    $(window).scrollTop(0)
})

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

Как я могу убедиться, что при рендеринге нового фрагмента позиция прокрутки установленавернуться наверх?

1 Ответ

0 голосов
/ 01 июня 2018

Если изменение происходит через ajax call, используйте

$.ajax({
   url: url,
   //other datas
   success: function(html){
      // Your other codes
      $(window).scrollTop(0);
   }
});

Если это через серверный вызов

$(window).load(function(){
   $(window).scrollTop(0);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...