当使用命名锚链接到页面时,例如 page.html#heading 浏览器将加载页面,然后跳转到锚。完成后是否会触发浏览器事件?
解释一下我背后的原因:我想使用事件来触发浏览器中的动画。
非常感谢。
当使用命名锚链接到页面时,例如 page.html#heading 浏览器将加载页面,然后跳转到锚。完成后是否会触发浏览器事件?
解释一下我背后的原因:我想使用事件来触发浏览器中的动画。
非常感谢。
更改哈希会触发hashchange
事件。
但是,我认为在加载链接已经设置了哈希的 url 时它不会触发。但是location.hash
,如果您希望某个脚本根据哈希值运行,您可以在页面加载时检查哈希值 ( )。
在 Mac 上的 Safari 7.0.3 中,这可以工作......
HTML 有:
<a id="jumper" href="#aa">Jump</a>
JS:
<script>
var j = document.getElementById("jumper");
j.addEventListener("click", registerAnchorJump);
function registerAnchorJump(e) {
window.addEventListener("scroll", unregisterAnchorJump);
}
function unregisterAnchorJump(e) {
// trigger your animation...
console.log(window.scrollY);
window.removeEventListener("scroll",unregisterAnchorJump);
}
</script>
当用户正常滚动窗口时,防止滚动事件不断触发的花哨步法。