页面刷新预加载器页面位置问题

时间:2016-10-03 04:49:48

标签: javascript jquery html preloader image-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 个答案:

答案 0 :(得分:0)

您好基于此Reload browser does not reset page to top

找到了答案

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);
        });

});

答案 1 :(得分:0)

$(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>