- ベストアンサー
テーブルでスクロールを同期したい
ホームページの話なのですが。 テーブルが二つありまして、両方のテーブルにはスタイルシートの over-flow:autoをかけています。 片方のテーブルのスクロールバーを移動させれば、もう一方のテーブルもスクロールするようにしたいのですが可能でしょうか? また、片方のスクロールバーを見えないように出来れば最高なのですが、、、 出来るのか、出来ないのか。 また、出来るのならどのようにすればよいのかご存知の方、ご教授よろしくおねがいします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
出来ますよ。 但し、スタイルシートの「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(...)」でスクロールさせることで実現可能です。
その他の回答 (1)
- dayowl
- ベストアンサー率56% (84/148)
すいません読み間違えてました。 テーブルに付けたスクロールバーですと、 スクロールバーを消すことはできなかったと思います。 なので2つのIFRAMEにそれぞれテーブルを入れて、同期させる方法ならできそうです。 こちらのURLが参考になるかも。。。です。
お礼
ありがとうございます。 参考URL、とても参考になりました。
お礼
回答ありがとうございます。 また、参照URLまでつけていただいて重ねて感謝します。 dayowlさんの回答では、フレームをJavaScriptで操作する方法ですが、私はテーブルにつけたスクロールバーの制御を行いたかったのでこの方法は少し違うかなと思いました。 しかし、テーブルの中にインラインフレームの形でフレームを埋め込めれば、実現できるかもしれないと気づいたので、やってみようと思います。 ありがとうございました。