DOESのscrollIntoView()
すべてのブラウザで動作しますか?そうでない場合、jQuery
代替手段はありますか?
回答:
@ 9bitsが指摘しているように、これはすべての主要なブラウザで長い間サポートされてきました。それについて心配する必要はありません。主な問題はそれが機能する方法です。ページの最後にある可能性のある特定の要素にジャンプするだけです。そこにジャンプすることで、ユーザーは次のことを理解できません。
最初の2つはスクロール位置によって決定できますが、ジャンプが行われる前にユーザーがスクロール位置を追跡したと誰が言いますか?したがって、これは非決定論的なアクションです。
最後の1つは、特にページにスクロールして表示されない移動ヘッダーがあり、残りのページデザインが同じページにあることを意味しない場合に当てはまります(左側のメニューのように全高の垂直要素もない場合)バー)。この問題が発生しているページの数に驚かれることでしょう。自分でチェックしてください。あるページに移動し、上部を見てから、Endキーを押してもう一度見てください。別のページだと思われるかもしれません。
scrollintoview
jQueryプラグインが救助にそのため、ネイティブDOM関数を使用する代わりにスクロールインビューを実行するプラグインがまだあります。これらは通常、スクロールをアニメーション化して、上記の3つの問題をすべて排除します。ユーザーは簡単に動きを追跡できます。
ScrollIntoViewOptions
は、を指定できますbehavior: 'smooth'
。残念ながら、このオプションがブラウザでサポートされているかどうかを簡単に検出する方法はありません…
behavior: "smooth"
が、ChromeやSafariはサポートしていません。