2011-12-27 12 views
0

ブラウザをスクロールしないようにするにはどうすればよいですか、ブラウザを固定位置にスクロールし続けるにはどうすればよいですか?ブラウザを一定の位置にスクロールさせる方法を教えてください。

私はNintendo 3DSブラウザのライブラリを作成しています。私はページをブラウザ内に完全に収めるようにしましたが、上の矢印は下の画面が可視領域として認識される唯一のウィンドウなのでスクロールします。

div #bottomScreenが下の画面で唯一のものになるようにしたいので、スクロールを無効にすることが効果があると私は考えることができます。

私はどのように私はそれが継続的にこの位置に移動することができます

document.body.scrollTop = 220; 

前記ビアの位置にスクロールする方法を考え出しましたか?

setTimeoutで繰り返しタイマーを作成し、上記のコードを入れても機能しません。私は、これはページの読み込みに先立ってのみ機能するためだと思います。

これを実施する方法についてのアドバイスはありますか?

+0

提案: 'setTimeout'ではなく' setInterval'を使用してください –

答えて

1

私はその効果を達成するために見た中で最高のものです。コードの意味はわかりませんが、コードはありますが、ユーザーにとって迷惑かもしれません。

setInterval(function(){ document.body.scrollTop = 200 }, 500); // set your time 
+0

を修正するでしょうこれは完全に動作します! – Tgwizman

1

より洗練された解決策は、そのメソッドが呼び出されたときにスクロールを無効にすることです(上から何かの位置にスクロールするなど)、ユーザーなどが適切な操作を行ったときにスクロールを再度有効にします。それ以外の場合は、10msのような非常に短い間隔でsetInterval()を使用してスクロール機能を繰り返し呼び出します。jQueryの例:

これを行うつもりなら、ウィンドウがすでに正しい位置(+/- 10pxなど)にスクロールされているかどうかを確認するロジックを追加するのが賢明でしょう。

+0

実際には、この状況では動作しません。私は質問 – Tgwizman

0

body要素に隠されたオーバーフロープロパティを設定するためのいくつかのサイト(画像がポップアップするときのTwitterやFacebookのようなもの)で見たときの最良の方法です。これによりスクロールが防止されるので、気にする必要があるのは、そのときのコンテンツの位置です。

何らかの種類のコンテナ要素にコンテンツをラップする必要があると思います。また、body要素のオーバーフローを変更すると、参照されているページの特定の領域を表示するようにコンテナのy座標が設定されます。

それがタイマーを必要としないので、これはそれも、ページのロード後に動作しなければならないなど、これまでで

0

スクロールイベントのイベントリスナーを追加し、次にその位置を設定できます。

関連する問題