我想做与我目前所发现的相反的事情。我用 js 设置了很多高度,我想在页面加载后导航到 url 中的主题标签。我猜这很简单,但我没有看到明显的答案...举个例子,在这里查看...
http://alavita.rizenclients.com/#story
尝试使用代码...
$(window).load(function() {
var hashTag = window.location.hash;
window.location = '/' + hashTag;
});
实际上并没有将我带到标记部分的顶部...
最佳答案
如果您只是想在页面加载后更改哈希值:
window.onload = function (event) {
window.location.hash = "#my-new-hash";
};
如果您想导航到具有新散列的 URL:
window.location.href = "http://website.com/#my-new-hash";
如果你想监听 URL 哈希值的变化;你可以考虑使用 window.onhashchange DOM 事件。
window.onhashchange = function () {
if (location.hash === "#expected-hash") {
doSomething();
}
};
但它还没有被所有主流浏览器支持。 它现在有一个宽 browser support .您还可以通过每隔一小段时间轮询 window.location.hash
来检查更改,但这也不是很有效。
对于跨浏览器的解决方案;我会建议 Ben Alman's jQuery hashchange plugin将这些方法和其他一些方法与回退机制相结合。
编辑:在您的问题更新后,我知道您希望页面滚动到书签?:
您可以使用 Element.scrollTop
或 jQuery 的 $.scrollTop()
方法。
$(document).ready(function (event) {
var yOffset = $("#my-element").offset().top;
$("body").scrollTop(yOffset);
});
参见文档 here .
关于javascript - 页面加载后如何导航到主题标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14348233/