window.scrollTo("0",Y);で、
ウインドウを指定位置に移動させているのですが、
これをスムーススクロール対応するには、
どうすればよいでしょうか?
Yは、指定座標(モニタ上の絶対位置)で、
任意のタイミングで、動的に取得してます。
イメージとしては、
関数みたいなのに、Y座標を渡して、
その都度、スムーススクロールさせるような使い方を想定してます。
jQueryとか、プラグインを使ってもいいですが、
なるべくシンプルに行きたいと思ってます。
また、結果的に、ページ内リンクも、スムーススクロールすることになったとしても別に構いませんが、
やりたいのは、リンクをスムーススクロールすることではなくて、
「動的に、都度切り替わる、Y座標へ、スムーススクロールしたい」ってことです。
難しいようであれば、
厳密なスムーススクロールじゃなくても、
何となくそれっぽく見えれば構いません。
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);
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- その他(プログラミング・Web制作) 外付ディスプレイで AutoHotkey の MouseMove コマンドを実行するとマウスカーソル 1 2023/03/06 00:04
- Excel(エクセル) Excel 区切り位置指定ウィザードの選択データプレビューで全列を指定する方法 お世話になります。E 1 2023/01/17 16:36
- 物理学 角運動量の式変形が分かりません。 4 2022/08/03 21:04
- AJAX 自作の地図をグーグルマップのようにしたい 3 2022/11/15 11:53
- その他(プログラミング・Web制作) pythonでのカーソル移動がずれる 2 2023/07/30 08:51
- 物理学 ミンコフスキー時空図の作図の仕方について 2 2023/04/30 10:01
- 物理学 ベクトルと座標系につきまして 1 2022/04/03 06:23
- その他(プログラミング・Web制作) マウスオーバー→ホイール回転でスクロールできない 2 2022/10/31 10:06
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelでワードアートや図を常に...
-
エクセルVBAでフォームのListbo...
-
リストビューをスクロールさせ...
-
Excelで一部分だけを常に表示さ...
-
常に画像の大きさを横幅100%で...
-
Excelの質問で票の途中に...
-
vb,netでtextboxの文字を右から...
-
「event.clientX」 と 「event....
-
TikTokに自動でスクロールして...
-
Excelで1.2行目だけ固定して...
-
C#:ListViewでのスクロールイベ...
-
前のページに戻るとスクロール...
-
アコーディオンで開かれたパネ...
-
大きい表へのスクロールバーの...
-
PDFを(htmlのように)無限に縦...
-
Visual Basic 2015を動かしてい...
-
CTreeCtrlのHitTestメソッドに...
-
このサイトのスクロール逆じゃ...
-
C# Panel領域の下部に余白を設...
-
マウスオーバー→ホイール回転で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelでワードアートや図を常に...
-
エクセルVBAでフォームのListbo...
-
PDFを(htmlのように)無限に縦...
-
リストビューをスクロールさせ...
-
Excelで1.2行目だけ固定して...
-
Excelの質問で票の途中に...
-
Excelで一部分だけを常に表示さ...
-
大きい表へのスクロールバーの...
-
ページ訪問時にiframe内を自動...
-
Visual Basicから Spreadのスク...
-
vb,netでtextboxの文字を右から...
-
webページで横方向にアンカーを...
-
リストビューの表示開始行変更
-
スクロール位置を中央にしたい
-
マウスオーバー→ホイール回転で...
-
VBE画面の縦のスクロールバ...
-
IFRAMEでscrolling="yes|no"の...
-
マウスでコロコロしたいんですが…
-
文章の自動スクロール
-
ポストバック時のスクロール位...
おすすめ情報