- ベストアンサー
スクロールの同期ってできますか?
1画面を2つのフレームに分けた場合,一方のスクロールに同期した他方のスクロールの同期って可能ですか? イメージとしてはEXELの一行目,一列目の項目を残したスクロールみたいなのをさせたいんですけど・・・。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんなのは無理だよなあ、と思ってちょっと調べてみたら、出来そうですよ。 # びっくり (^^; IE と NN で違うのですが、IE の方が素直です。縦方向のスクロールに 的を絞って書きます。 <body> に onScroll というイベントがあるので、それを捕まえます。 スクロールしている量は body に scrollTop というプロパティがあります から、それを指定して window の scrollTo() メソッドを使います。 NN では、スクロールのイベントが無いので、setTimeout() を使って、 定周期で監視するしかなさそうです。window に pageYOffset という プロパティがありますから、それを指定して window の scrollTo() メソッドを 使えば良いでしょう。 ただ、素直に毎回 scrollTo() すると、他のことが何も出来なくなるので 前回の pageYOffset を保存しておいて、ある程度ずれていたら scrollBy() で 差分だけスクロールするというふうに作った方が良いでしょう。 どちらのブラウザでも、スクロールの単位がピクセルなので、Excel と イメージは違うかもしれません。