我已经完成了我的网站开发,我正在测试它。我在1秒后运行一个脚本来检查标题/顶部的height
,并在内容部分添加margin-top
。但此标题/顶部根据滚动位置(运行时)更改大小。所以首先我必须确保页面滚动设置为(顶部)0然后运行此脚本。有时用户已向下滚动并刷新,自然浏览器的行为是将页面滚动到原来的位置。
在谷歌浏览器上进行多次尝试后,在评论了我的大部分代码都是在页面加载时触发的,我在Firefox上尝试过相同的功能!因此,此代码不适用于Chrome:
$(document).scrollTop(0);
// or this
$(document).ready(function(){ $(this).scrollTop(0); });
我使用animate
函数并将回调传递给alert
“Hello”并在顶部发出警报,然后单击“确定”并返回到刷新之前滚动的位置。
我也尝试过没有jQuery,没有任何反应
window.scrollTo(0,0);
在Firefox上运行正常。没有Javascirpt代码正在运行scrollTop
(可能像社交插件,但不是我的)。
有人知道解决方法或如何修复它吗?与Chrome有什么关系?
答案 0 :(得分:1)
我正在使用Chrome 41,这有效:
$("html, body").animate({
scrollTop: 0
}, 9000);
答案 1 :(得分:0)
另一个可能的解决方案:
window.setTimeout(function() {
window.scrollTo(0,0);
}, 0);
多次刷新后,我确实遇到了上述代码的间歇性问题,直到我删除了对Google托管的jQuery库的引用。它可能只是一种减轻持续刷新滥用的措施。
这里有很多好建议:The same old issue, .scrollTop(0) not working in Chrome & Safari
答案 2 :(得分:0)
Try these solution. I hope this will be helpful
$(document).scroll(function() {
if ($(this).scrollTop() > 100) {
if(window.innerWidth <= 768){
$("html, body").css({
"position" : 'fixed',
"top" : 0 , "margin-left" : 566});
}else{
$("html, body").css({
"position" : 'fixed',
"top" : 0 , "margin-left" : 721});
}
} else {
$("html, body").css({ "position" : 'relative', "margin-left" : 0});
}
})
答案 3 :(得分:0)
在jQuery中:
只需在文档加载开头添加此行(假设您在HTML页面上解析了jQuery框架):
$(document).ready(function)() {
$(document.body).animate({scrollTop: '0px'}, 1000);// 1sec animation scroll up
//Your rest of the code goes below -
});