• ベストアンサー

テーブルでスクロールを同期したい

ホームページの話なのですが。  テーブルが二つありまして、両方のテーブルにはスタイルシートの over-flow:autoをかけています。  片方のテーブルのスクロールバーを移動させれば、もう一方のテーブルもスクロールするようにしたいのですが可能でしょうか?  また、片方のスクロールバーを見えないように出来れば最高なのですが、、、  出来るのか、出来ないのか。  また、出来るのならどのようにすればよいのかご存知の方、ご教授よろしくおねがいします。

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

  • ベストアンサー
  • dayowl
  • ベストアンサー率56% (84/148)
回答No.1

出来ますよ。 但し、スタイルシートの「over-flow:auto」がどう影響するかわかりませんが。。。 (1)片方のスクロールバーを出さない方法 frameタグで「scrolling=no」でできます。 下の例だと左右に分割するフレームで、左側はスクロールバーを出しません。 <frameset cols="150,*" frameborder=0> <frame src="left.html" name="left" scrolling=no> <frame src="right.html" name="right"> </frameset> (2)スクロールの同期 IEで縦方向スクロールという前提にして、上記のフレーム定義を使うものとすれば 「setTimeout」を使って、 同期元のページのY座標を「document.body.scrollTop」でチェックし、 被同期側を「window.parent.left.scroll(...)」でスクロールさせることで実現可能です。

参考URL:
http://homepage2.nifty.com/BASH/WWW/JavaScript/java4.html
hot_float
質問者

お礼

 回答ありがとうございます。  また、参照URLまでつけていただいて重ねて感謝します。  dayowlさんの回答では、フレームをJavaScriptで操作する方法ですが、私はテーブルにつけたスクロールバーの制御を行いたかったのでこの方法は少し違うかなと思いました。  しかし、テーブルの中にインラインフレームの形でフレームを埋め込めれば、実現できるかもしれないと気づいたので、やってみようと思います。 ありがとうございました。

その他の回答 (1)

  • dayowl
  • ベストアンサー率56% (84/148)
回答No.2

すいません読み間違えてました。 テーブルに付けたスクロールバーですと、 スクロールバーを消すことはできなかったと思います。 なので2つのIFRAMEにそれぞれテーブルを入れて、同期させる方法ならできそうです。 こちらのURLが参考になるかも。。。です。

参考URL:
http://www.suepon.com/jsm/script/jsm37.html
hot_float
質問者

お礼

ありがとうございます。 参考URL、とても参考になりました。

関連するQ&A