• ベストアンサー

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

a-kumaの回答

  • ベストアンサー
  • 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 と イメージは違うかもしれません。

関連するQ&A

  • スクロールバーを左側に、又は両側に

    フレーム内に情報を表示しようとしているのですが、 横幅がある物になってしまい、一画面に収まりません。 スクロールバーを左側に表示、 もしくは左右両方に表示をしてスクロールの同期をとりたいのですが、 この様な方法はありますでしょうか?

  • html+CSSでテーブルのスクロール(位置固定)

    助けてください。 たとえば、10項目の列を持つテーブルがあったとします。 レコード件数は100件だとします。 画面に表示できるのは5項目、10件だとした場合、 そのテーブルに対して縦横スクロールバーを つけるのですが、その際に縦スクロールバーを下に動かした場合、 <th>列名だけはスクロールさせず、レコード部のみスクロールさせたいです。 また、横スクロールバーを右に動かした場合、5項目は固定で6項目目以降をスクロールさせたいです ※エクセルのウインドウ枠の固定 を適用したイメージ htmlとスタイルシートで実現できますでしょうか?

    • ベストアンサー
    • CSS
  • フレームなどで、スクロールの表示を消すにはどうしたらいい?

     すいません、教えてください。 フレーム機能を使っていると思うんですが、 画面からはみ出し多分は普通なら、 ▲ ▼ みたいなボタンが現れて、それをドラッグして 見えない部分を見ようとしますよね?▲と▼の 部分には長方形の物体が存在します。なんのことか わからないかもしれませんが、多分今見てるこのサイトでも 右横と一番下に現れてると思います。  普通なら、画面からはみ出た部分は上に書いたような スクロールさせるための機能が自然に現れると思うんですが、 多分、フレーム機能を使った場合、そういうスクロールのための 表示がまったくされなくて、画面からはみ出た部分を見るには マウスの右クリックと左クリックの真中についてる、クルクル 回すやつで移動させないとだめな機能はどうやったらできるのでしょうか?  フレームで枠表示をさせないようもしたんですが、できませんでした。  勿論、フレームを使っていない普通のHPの場合は画面に収まり 切れない部分がある場合、普通に画面右と下にスクロールするための 機能が出ることを言っているのではないです。  あと、こういう機能を使うのはHP閲覧者にとって どういう印象があるのでしょうか?見づらいでしょうか・・・? 

  • 2つのフレームの縦スクロールを連動させる方法

    framesetで縦に分割した2つのフレームの、片方の縦スクロールを動かしたら、もう一方の縦スクロールも連動して動くようにする方法をご存知の方がいらっしゃいましたら、よろしくお願いします。 例としては、住所録で、左の氏名は固定したまま住所以下の項目を横スクロールさせるために、氏名とそれ以外を左右の別のフレームに表示しています。 人数が多くて下のデータを見るときに、氏名の縦スクロールバーを上下に動かしたら、右の項目も一緒に動くようにしたいのです。 でないと、氏名と住所以下が一致しなくなってしまいます。

  • エクセル2000 左右にスクロールされないフレームの作り方ないでしょうか?

    一行のセルの数が多い場合、BAやBB列などを参照していると、その行のIDや顧客名など(一番左の1列)が画面から消えてしまって、どのID・顧客名の行であったか途中で分からなくなってしまいます。ウェブサイトのように、左隅に、フレームのようなものを作ってそこにIDや顧客名を並べて、上下にはスクロールされるが、左右にはスクロールされず、いつでもIDや顧客名を見ながら、作業できるような環境を作ることはできませんでしょうか。

  • フレーム分割画面全体にスクロールバーを出したいのですが。

    早速ですが、以下のように複数のフレームを使い表と見出しのスクロールを同期させているのですが、このフレーム分割画面全体に対してのスクロールバーを表示させたいと考えています。自分の調査中不足と勉強不足でそもそも実現可能かどうかすらわかりません。そのあたりからご教授ねがいますでしょうか? よろしくお願いいたします。 現在のフレーム構成は以下のようになっています メインフレーム----------------------------------| | | | タイトルフレーム----------------------------| | | |-------------------------------------------| | | | | |空白フレーム--| 項目見出し----------------| | | |--------------| |-------------------------| | | | | 日付見出し-----| 日付毎の値----------------| | | | 12/1    | |  123       S| | | | 12/2    | |  123       C| | | | 12/3    | |  123       R| | | | 12/4    | |  123       O| | | | 12/5    | |  123       L| | | | 12/6    | |  123       L| | | | 12/7    | |  123       B| | | | 12/8    | |  123       A| | | | 12/9    | |  123       R| | | |--------------| |-------------------------| | | |--------------| |-横scrollbar-------------| | | | |-----------------------------------------------|

  • Excelのスクロールをスムーズにしたい

    Excel 2007 です。 Excelのスクロールは、セル単位になっていますが、 行の高さがかなり大きい(画面サイズの7割以上とか)セルが続いている場合、 セル単位でスクロールされるとすぐに行き過ぎてしまいます。 セルの位置に依存しないスムーズなスクロールにすることはできないのでしょうか。

  • フレームのスクロールをできなくしたい。

    左右に分けて、右のフレームを上下に分けています。 右上のフレームをスクロールしないようにしたいのです。 スクロールバーの非表示をしたり、 フレームのサイズを不変にしたりしてみたのですが、 マウスで動かすとスクロールできてしまいました。 スタイルシートを使わない方法を教えてください。 もし方法がない場合でも、ないことを教えていただけると助かります。 どなたかよろしくお願いします。

  • Excel :行や列の固定(スクロール時)

    Excelの基本的な質問です。 例えば、表を作成していて作業中に画面に入りきらない場合に、項目の行や列だけスクロール時に消えないように固定する方法があったかと思います。あれはどのように行うのでしょうか?

  • スクロールバー付き画面の印刷について

    先程スクロールバー付画面で「フレーム内の情報全て」の印刷を試みた のですが、どうしても画面表示のとおりにしか印刷できませんでした。 (1)「フレーム印刷」のオプション設定は全てグレーアウトされています (2)この情報は、フレーム内で右クリックして「すべて選択」をすると  フレーム外の情報も全て選択されてしまうような特殊な情報です  (通常はフレーム内情報しか選択されないはずなのですが・・・) 画面上では縦にスクロールバーが付いててフレームっぽいのですが 印刷オプションでフレーム印刷の設定ができないっていうことは フレームではないっていうことなのでしょうか? このような場合でもスクロール設定されている情報を一括印刷する 方法はあるのでしょうか?方法をご存知の方、是非教えて下さい。 宜しくお願いします。