- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:動的に切り替わる指定座標へ、スムーススクロール)
動的に切り替わる指定座標へ、スムーススクロール
このQ&Aのポイント
- 指定座標へウインドウをスムーススクロールする方法について教えてください。
- Y座標を動的に取得して、その位置にウインドウをスムーススクロールさせる方法を知りたいです。
- ページ内の特定の位置へスムーススクロールする方法を教えてください。
- みんなの回答 (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); }
お礼
「回答」&「コード作成」ありがとうございました。 勉強になりましたー