2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

リンクをクリックするとjavascriptで指定の要素にスクロールする方法

Posted at

やりたいこと

  • リンクをクリックすると、指定の要素にスクロールする
  • javascriptで実現する

イメージ

「About」というリンクをクリックすると
スクリーンショット 2022-02-08 18.00.08.png

「About」のh2にスクロールする
スクリーンショット 2022-02-08 18.01.27.png

ソースコード

HTML

<a href="javascript:void(0);" onclick="scrollwindow('about');">About</a>
・・・
<h2 id="about">About</h2>

ポイント

  • aタグに href="javascript:void(0);" をつけないと、ページの一番上に戻ってしまうので注意
  • aタグの scrollwindow に渡す引数は、スクロール先の要素のidと同じにする

※関数 scrollwindow は仮名なので、何でも可

javascript

function scrollwindow(elem) {
  var left = document.getElementById(elem).getBoundingClientRect().left;
  var top = document.getElementById(elem).getBoundingClientRect().top;
  window.scrollTo({
    left: left,
    top: top,
    behavior: "smooth",
  });
}

ポイント

  • 引数 elem が、スクロール先の要素のidになる
  • window.scrollTobehavior: "smooth" を付与することでスクロールする(無いと瞬時に移動する)
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?