Javascript 当我跳转到另一个页面时,JS代码停止

Javascript 当我跳转到另一个页面时,JS代码停止,javascript,css,web,Javascript,Css,Web,我正在努力让这一切顺利进行: window.location.href='tsa.html#tile4'; document.body.scrollTop -= 100; 它试图在某个位置跳转到新页面,然后向上滚动一点。 但是,由于浏览器跳开,下半部分似乎无法工作。 有任何简单的修复吗?当您切换到另一个页面时,当前文档将被卸载,其中的所有JS将停止执行。加载一个新文档,其中的JS开始运行。两种解决方案。首先,您不需要重新加载页面,而是在ajax请求中获取它们并覆盖正文内容。然后,您可以让脚本不

我正在努力让这一切顺利进行:

window.location.href='tsa.html#tile4';
document.body.scrollTop -= 100;
它试图在某个位置跳转到新页面,然后向上滚动一点。 但是,由于浏览器跳开,下半部分似乎无法工作。
有任何简单的修复吗?

当您切换到另一个页面时,当前文档将被卸载,其中的所有JS将停止执行。加载一个新文档,其中的JS开始运行。

两种解决方案。首先,您不需要重新加载页面,而是在ajax请求中获取它们并覆盖正文内容。然后,您可以让脚本不间断地工作

但对于您来说,将第二行(关于滚动)移到页面
tsa.html
中的脚本会更容易。例如,(jquery)


$(文档).ready(函数(){
if(location.hash='#tile4')
document.body.scrollTop-=100
})

如果没有jquery,请寻找一些
事件处理。

我发现了一些有效的方法,尽管我仍然不知道为什么会有其他建议的解决方案 不工作:

$('html, body').animate({ 
    scrollTop: $('#tile4').offset().top - 100
}, 'fast');

不过仍然有一个令人讨厌的动画。

你试过切换顺序吗?没有,因为它只是在跳转到下一页之前向上滚动到当前页。是的,我知道JS因为加载了新文档而中断。@user2483724-然后你需要JS在新页中加载时按需要定位它。或者,您可以在新页面中使用
标记,URL中的哈希值将自动滚动到该标记。我有类似于“location.hash='#tile4'”的内容在块中检查加载和打印语句,但document.body.scrollTop-=100不起作用。我甚至试着用jQuery替换它。我只是跳转到#tile4,然后什么也没发生如果scrollTop小于0,那么它只是设置为0。您确定要执行
-=
而不是
+=
?看,是的,我需要它上升一点,因为一个固定的头挡住了一部分。我也用+=试过,但仍然没有反应。第二个选项似乎是可行的,我在if语句中有一个“hello”的打印,但是document.body.scrollTopOk没有发生任何变化,试着这样做:
setTimeout('$(window).scrollTop($(window.scrollTop()-100)
@user2483724它会稍微推迟滚动,在页面滚动到锚点后调用它。仍然不起作用,但如果这样做了,看起来会很混乱。我想这只是一些奇怪的设置我有。。。
$('html, body').animate({ 
    scrollTop: $('#tile4').offset().top - 100
}, 'fast');