0

我试图让它工作:

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

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

4

3 回答 3

0

我发现了一些可行的方法,但我仍然不知道为什么其他提议的解决方案不起作用:

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

尽管如此,仍然有一个令人讨厌的动画。

于 2013-10-14T04:45:33.967 回答
0

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

于 2013-10-14T03:16:13.400 回答
0

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

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

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

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

于 2013-10-14T03:16:59.633 回答