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>
ユーザーが通常どおりにウィンドウをスクロールするときにスクロール イベントが常に発生するのを防ぐためのファンシー フットワーク。