我想要的东西与stackoverflow中的东西非常接近。 考虑我有一个这样的页面:" myPage.com"。 然后考虑在搜索之后我想将用户重定向到这个页面,但是正好在所需的元素上,如下所示:" myPage.com#123"。 如你所知" 123"是我希望页面滚动到它的元素的id。 但问题是滚动还不够。我想用JQuery做更多的工作,我想知道如何为此添加事件处理程序。而且更直接,这是什么事件?
答案 0 :(得分:1)
您可以向load事件添加事件侦听器。然后是get the Anchor(#123),然后用它来做你想做的事。
对于滚动,#123足以让浏览器了解你想要的内容。
答案 1 :(得分:1)
最简单的方法是检查文档准备就绪,如下所示:
$(function() {
// assign value of hash to hash variable
var hash = window.location.hash;
// check if hash isn't undefined
if (hash) {
// target element with id from hash
var $where = $(hash);
// animate scroll to position of element from hash
$('html, body').animate({ scrollTop: parseInt($where.position().top) + 'px' }, 300);
} else {
// there is no hash ;-)
alert('no hash');
}
});
还有onhashchange事件:
https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onhashchange