• ベストアンサー

スクロールの同期ってできますか?

 1画面を2つのフレームに分けた場合,一方のスクロールに同期した他方のスクロールの同期って可能ですか?  イメージとしてはEXELの一行目,一列目の項目を残したスクロールみたいなのをさせたいんですけど・・・。

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

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

こんなのは無理だよなあ、と思ってちょっと調べてみたら、出来そうですよ。 # びっくり (^^; IE と NN で違うのですが、IE の方が素直です。縦方向のスクロールに 的を絞って書きます。 <body> に onScroll というイベントがあるので、それを捕まえます。 スクロールしている量は body に scrollTop というプロパティがあります から、それを指定して window の scrollTo() メソッドを使います。 NN では、スクロールのイベントが無いので、setTimeout() を使って、 定周期で監視するしかなさそうです。window に pageYOffset という プロパティがありますから、それを指定して window の scrollTo() メソッドを 使えば良いでしょう。 ただ、素直に毎回 scrollTo() すると、他のことが何も出来なくなるので 前回の pageYOffset を保存しておいて、ある程度ずれていたら scrollBy() で 差分だけスクロールするというふうに作った方が良いでしょう。 どちらのブラウザでも、スクロールの単位がピクセルなので、Excel と イメージは違うかもしれません。