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

时间:2013-10-14 02:58:58

标签: javascript css web

我正试图让它发挥作用:

window.location.href='tsa.html#tile4';
document.body.scrollTop -= 100;

尝试跳转到某个位置的新页面,然后向上滚动一点。 但似乎下半场不起作用,因为浏览器跳了起来。 任何简单的修复?

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

<script>
    $(document).ready(function(){
        if (location.hash == '#tile4')
            document.body.scrollTop -= 100
    })
</script>

如果没有jquery,请查找一些<body onload>事件处理。

答案 2 :(得分:0)

我发现了一些有效的东西,但我仍然不知道为什么其他提议的解决方案 不工作:

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

但是仍然有一个讨厌的动画。