我正在尝试最后一件事:
我在主导航中有一个博客链接,当您点击它时,它会向下滚动到博客。但是,当我在任何其他页面上时,这种逻辑显然不起作用。首先应首先转到根页然后滚动。 I've got the opposite thing working here,但尚未完成此任务。
任何帮助?
我正在成功使用scrollTo:
$(".scroll_to_top").click(function() {$.scrollTo($("body").position().top, 300)});
博客部分尚未作出反应:
if(window.location.hash === 'blog') {
$.scrollTo($("#blog").position().top, 300);
}
我做错了什么?
答案 0 :(得分:0)
您可以在URL的末尾使用基本哈希(#
)来自动滚动带有哈希中指定的id
的元素(即http://example.com#blog
)。这将是最简单的解决方案,不需要Javascript。
但是,如果要滚动到的元素没有可以使用的id
(并且您无法修改HTML,那么)或者您想要滚动动画您可以在URL中使用哈希值,而不仅仅是跳过相关元素,并执行以下操作:
//URL is http://example.com#blog
if(window.location.hash === 'blog'){
//scroll
}
最后,如果你真的讨厌在某些原因下在网址中添加哈希的想法,你可以拦截<a>
上的点击,创建一个cookie,重定向到所需的页面,然后拥有该页面检查cookie是否存在。