Обновление страницы Preloader Проблема положения страницы

Привет! У меня проблема с моим прелоадером. Если я говорю "наполовину вниз по странице" и нажимаю на ссылку или обновляю страницу, следующая страница отображается на последней позиции (например, на полпути вниз, как было на предыдущей странице). Мне нужно, чтобы каждая страница была наверху. Вот мой код:

$(window).load(function(e){ 
    e.preventDefault();
    $('#status').fadeOut('slow'); 
    $('#preloader').fadeOut('slow'); 
    $(function(){
      $(this).scrollTop(0);
        setTimeout(function(){
        $('html, body').css({ "overflow-y":"auto"});}, 500);
    });       
});

2 ответа

Привет нашел ответ на основе этого Обновить браузер не сбрасывает страницу наверх

функция scrollTop не работает должным образом, вот рабочий пример

    $(window).load(function(e){ 
    e.preventDefault();
    $('#status').fadeOut('slow'); 
    $('#preloader').fadeOut('slow'); 
    $(function(){
        $('html').animate({scrollTop:0}, 1);
        $('body').animate({scrollTop:0}, 1);
        setTimeout(function(){
        $('html, body').css({ "overflow-y":"auto"});}, 500);
        });

});

Положил $(this).scrollTop(0); после (минимальной) задержки event-loop)

$(window).load(function(e) {
  e.preventDefault();
  $('#status').fadeOut('slow');
  $('#preloader').fadeOut('slow');
  $(function() {
    setTimeout(function() {
      $(this).scrollTop(0);
    }, 0);
    setTimeout(function() {
      $('html, body').css({
        "overflow-y": "auto"
      });
    }, 500);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>

Другие вопросы по тегам