Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 页面刷新问题后向下滚动到特定位置_Javascript_Html - Fatal编程技术网

Javascript 页面刷新问题后向下滚动到特定位置

Javascript 页面刷新问题后向下滚动到特定位置,javascript,html,Javascript,Html,我有下面的代码,它的工作原理与我使用提交按钮刷新页面所需的完全相同 然而,我在其中添加了代码,使其在更新后向下滚动到特定位置,问题是,它向下滚动到该位置,然后弹回到页面顶部 你知道为什么有人会喜欢吗 $(".visitpage").on('click', function() { $('body').append('<div style="" id="loadingDiv"><div class="loader"></div><center><

我有下面的代码,它的工作原理与我使用提交按钮刷新页面所需的完全相同

然而,我在其中添加了代码,使其在更新后向下滚动到特定位置,问题是,它向下滚动到该位置,然后弹回到页面顶部

你知道为什么有人会喜欢吗

$(".visitpage").on('click', function() {
$('body').append('<div style="" id="loadingDiv"><div class="loader"></div><center><span style="font-size:22px;color:#000000;z-index:99999;"><b>Updating your results...</b></span></center></div>');
 setTimeout(removeLoader, 2000); //wait for page load PLUS two seconds.
 $('html, body').animate({
scrollTop: $("#search-results").offset().top
}, 2000);
});
function removeLoader() {
$("#loadingDiv").fadeOut(500, function() {
// fadeOut complete. Remove the loading div
$("#loadingDiv").remove(); //makes page more lightweight 
});
}
$(“.visitpage”)。在('click',function()上{
$('body').append('更新结果…');
setTimeout(removeLoader,2000);//等待页面加载加上两秒钟。
$('html,body')。设置动画({
scrollTop:$(“#搜索结果”).offset().top
}, 2000);
});
函数removeLoader(){
$(“#loadingDiv”).fadeOut(500,function(){
//淡出完成。卸下加载分区
$(“#loadingDiv”).remove();//使页面更加轻量级
});
}

您肯定需要javascript中窗口对象的scrollTo方法。然后,我将通过在页面上获取该对象的引用(以像素为单位),计算出元素的深度。看看如何做到这一点,因为你的部分答案将是一个重复的问题,我会让你阅读它。这篇文章很有帮助


也许我错了;但是,如果您创建了一个div,希望在其中滚动页面,或者如果您已经在其中,请确保它已命名,然后在刷新命令之后添加
window.location.href=“#YOURDIVTAGHERE”so

因此,如果这是您希望它进入的页面的一部分:

<div id="search-results">
CONTENT
</div>

内容
那么您的JS代码,可以尝试:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


$(".visitpage").on('click', function(){
$('body').append('<div style="" id="loadingDiv"><div class="loader"></div><center><span style="font-size:22px;color:#000000;z-index:99999;"><b>Updating your results...</b></span></center></div>');
setTimeout(removeLoader, 2000); //wait for page load PLUS two seconds.
});
function removeLoader(){
$( "#loadingDiv" ).fadeOut(500, function() {
// fadeOut complete. Remove the loading div
$( "#loadingDiv" ).remove(); //makes page more lightweight 
});
window.location.href = "#search-results";  
}

$(“.visitpage”)。在('click',function()上{
$('body').append('更新结果…');
setTimeout(removeLoader,2000);//等待页面加载加上两秒钟。
});
函数removeLoader(){
$(“#loadingDiv”).fadeOut(500,function(){
//淡出完成。卸下加载分区
$(“#loadingDiv”).remove();//使页面更加轻量级
});
window.location.href=“#搜索结果”;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


$(".visitpage").on('click', function(){
$('body').append('<div style="" id="loadingDiv"><div class="loader"></div><center><span style="font-size:22px;color:#000000;z-index:99999;"><b>Updating your results...</b></span></center></div>');
setTimeout(removeLoader, 2000); //wait for page load PLUS two seconds.
});
function removeLoader(){
$( "#loadingDiv" ).fadeOut(500, function() {
// fadeOut complete. Remove the loading div
$( "#loadingDiv" ).remove(); //makes page more lightweight 
});
window.location.href = "#search-results";  
}