私は、ハッシュのリスナーを使用してコンテンツ DIV を表示および非表示にし、同じ名前の名前付きアンカーにスクロールするサイトで作業しています。
アンカーまでスクロールする代わりに、アンカーの名前と同じ ID を持つ DIV までスクロールするという奇妙な問題がありました。
DIV ID を別のものに変更すると、動作は期待どおりになりました。
これに関するドキュメントが見つからないようで、これが文書化された動作であるかどうか疑問に思っていました。
動作するコード:
<a name="top">top</a>
<p id="bottomx" style="height: 1800px;">
<a href="#top">top</a>
<a href="#bottom">bottom</a>
<br>
</p>
<a name="bottom">bottom</a>
期待どおりに動作しない:
<a name="top">top</a>
<p id="bottom" style="height: 1800px;">
<a href="#top">top</a>
<a href="#bottom">bottom</a>
<br>
</p>
<a name="bottom">bottom</a>
2 番目の例では、「bottom」という名前の P までスクロールします。同様に、「bottom」という ID でページの下部に DIV を作成し、page.html#bottom をクリックすると、その DIV までスクロールダウンします。
ただ混乱しているようです。なぜこれがこのように機能しているのか考えていますか? Safari と FF で同じ動作です。