• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:動的に切り替わる指定座標へ、スムーススクロール)

動的に切り替わる指定座標へ、スムーススクロール

このQ&Aのポイント
  • 指定座標へウインドウをスムーススクロールする方法について教えてください。
  • Y座標を動的に取得して、その位置にウインドウをスムーススクロールさせる方法を知りたいです。
  • ページ内の特定の位置へスムーススクロールする方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

>これをスムーススクロール対応するには、 >どうすればよいでしょうか? いきなり目的のY座標の位置を表示するのでなく、アニメーション的に順次Y座標に近づくように表示してあげればよろしいかと。 簡単な原理のサンプル。 (速度を変えたり、イージングをつけるなどはご自分でどうぞ) function smoothScroll(y){ //現在のy座標を取得 var top = (document.compatMode=='CSS1Compat'?document.documentElement:document.body).scrollTop; var step = Math.max(1, (Math.abs(y - top)/30 | 0)); step *= y>top?1:-1; //スクロール処理 var id = setInterval(function(){ top += step; if((step>0 && top>y) || (0>step && y>top)) top = y; window.scrollTo(0, top); if(y==top) clearInterval(id); }, 30); }

re999
質問者

お礼

「回答」&「コード作成」ありがとうございました。 勉強になりましたー

関連するQ&A

専門家に質問してみよう