13

page.html#heading などの名前付きアンカーを使用してページにリンクすると、ブラウザはページをロードしてからアンカーにジャンプします。これが完了したときに発生するブラウザ イベントはありますか?

その背後にある理由を説明するには、イベントを使用して、ブラウザーでアニメーションをトリガーしたいと考えています。

どうもありがとう。

4

2 に答える 2

4

ハッシュを変更すると、hashchangeイベントがトリガーされます。

ただし、リンクに既にハッシュが設定されている URL を読み込んでも起動しないと思います。ただしlocation.hash、ハッシュに応じて特定のスクリプトを実行する場合は、ページの読み込み時にハッシュ ( ) を確認できます。

于 2013-10-10T14:56:20.877 に答える
1

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>

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

于 2014-05-02T21:36:44.650 に答える