4

さまざまな ID を持つさまざまなオブジェクトへのさまざまな「内部」リンクを含む Web ページがあります。Webページには、特定の量だけスクロールしたときに特定のアイテムを非表示/表示するためのスクロールイベントへの添付もあります。

これらのリンクのいずれかをクリックした後、ページが別のセクションに移動したときに、スクロール イベント ハンドラーをトリガーしたいと思います。

クリック イベントはナビゲーションの前に発生するため、新しい場所に基づいて決定を下す必要があるため、それにアタッチできません。

4

2 に答える 2

2

hashchangeイベントはどうですか?最近は広くサポートされています。(Modernizrには、万が一の場合に備えて、テストと多数のポリフィルがあります...)

ところで、場所を保存したい場合は、HTML5HistoryAPIをチェックしてください。history.pushStateでうまくいくはずです。

于 2012-10-12T12:12:13.370 に答える
0

1 つのページでハッシュ リンクをクリックしたときに発生する「onChange」イベントはありません。現在の (AJAX 化された) ページがハッシュの変更を監視する唯一の方法は、JavaScript 関数がそのチェックを行うために呼び出される間隔を使用することです。

言い換えれば、唯一の可能性は、最後のハッシュ位置 ( document.location.hash) をタイムリーに保存し、何らかの条件が満たされない場合に古い場所に戻ることです。

于 2012-10-12T12:01:18.920 に答える