您好我的预加载器有问题。如果我说在页面的中间部分,我点击一个链接或页面刷新下一页显示在最后一个位置(例如我在上一页的一半页面。)我需要每个页面都在顶部。这是我的代码:
$(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);
});
});
答案 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>