Google グループは Usenet の新規の投稿と購読のサポートを終了しました。過去のコンテンツは引き続き閲覧できます。
Dismiss

[css] overflow:scroll, slider position; or update multiple screens

閲覧: 7 回
最初の未読メッセージにスキップ

Yasushi Shinjo

未読、
2003/11/20 5:52:542003/11/20
To:
新城@筑波大学情報です。こんにちは。

Cascading Style Sheets (CSS) で、ある領域(<div></div>)を
height:600px; overflow:scroll; と指定して、縦の高さを固定し
て溢れたらスクロールバーを表示するようにしています。これは、
うまくいったのですが、問題は、再表示する時にスクロールバーの
スライダが一番上まで戻ってしまいます。これを何とか同じ位置に
保つことはできないでしょうか。

もっとも、「再表示」といっても、CGI なので、post が行われて
います。フレームを使えば、別の画面に結果を出させてスクロール
バーのスライダの位置を替えないことはできるのですが、そうなる
と、今度は自分の画面を変更することができません。つまり、最終
的には1つのボタンで2つの画面の内容を同時に変えられればいい
です。

CSS を使うと、同時に変えるのはできる(実際には、1つの画面を
区分して表示している)のですが、上で書いたようにスクロールバー
のスライダの位置が変ってしまいます。

よろしくお願いします。

\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報       \\

ku...@gssm.otsuka.tsukuba.ac.jp

未読、
2003/11/20 9:19:292003/11/20
To:
久野です。

y...@is.tsukuba.ac.jpさん:


> Cascading Style Sheets (CSS) で、ある領域(<div></div>)を
> height:600px; overflow:scroll; と指定して、縦の高さを固定し
> て溢れたらスクロールバーを表示するようにしています。これは、
> うまくいったのですが、問題は、再表示する時にスクロールバーの
> スライダが一番上まで戻ってしまいます。これを何とか同じ位置に
> 保つことはできないでしょうか。

定石としては位置をクッキーに覚えさせて再表示時にJavaScriptで
スクロール位置を復元させるとかじゃないですかね。

試してないですけど。 久野

Yasushi Shinjo

未読、
2003/11/20 12:50:322003/11/20
To:
新城@筑波大学情報です。こんにちは。

In article <bpiihh$1...@utogw.gssm.otsuka.tsukuba.ac.jp>
ku...@gssm.otsuka.tsukuba.ac.jp writes:
> 定石としては位置をクッキーに覚えさせて再表示時にJavaScriptで
> スクロール位置を復元させるとかじゃないですかね。

JavaScriptとCookieですか。両方とも普段は切っているので、あん
まり使いたくはないのですけれど。

JavaScript を使えば、1つのボタンで2つのフレームの内容を同
時更新するというのはできそうな気もするけれど、どうなんでしょ
うか。フレーム全体を更新することになるので、スクロールバーの
スライダの位置も変ってしまって、問題の解決になってないのかな。

ku...@gssm.otsuka.tsukuba.ac.jp

未読、
2003/11/20 19:29:262003/11/20
To:
久野です。

y...@is.tsukuba.ac.jpさん:
> JavaScriptとCookieですか。両方とも普段は切っているので、あん
> まり使いたくはないのですけれど。

まあそういうことならやめとくんでしょうけど。

> JavaScript を使えば、1つのボタンで2つのフレームの内容を同
> 時更新するというのはできそうな気もするけれど、どうなんでしょ
> うか。フレーム全体を更新することになるので、スクロールバーの
> スライダの位置も変ってしまって、問題の解決になってないのかな。

フレームのリロードなら変わらないけど内容が更新されているとスク
ロール位置は先頭に戻るでしょうね。

JavaScript、面白いし好きです 久野

Yasushi Shinjo

未読、
2003/11/22 7:48:552003/11/22
To:
新城@筑波大学情報です。こんにちは。

In article <bpjm96$14...@utogw.gssm.otsuka.tsukuba.ac.jp>
ku...@gssm.otsuka.tsukuba.ac.jp writes:
> フレームのリロードなら変わらないけど内容が更新されているとスク
> ロール位置は先頭に戻るでしょうね。

先頭か。。。途中に飛ばすなら、断片識別子(#)を使うとどうかと
思って、試してみたら、なんとなく近いことができました。
------------------------------------------------------------
<form method="post" action="list.cgi#item-10">
...
<A name="item-10">10</A>
------------------------------------------------------------
CGI の action の URL に「#」が使えるとは思っていなかったのです
が、試してみたら使えました。get ならまだ使えてもいいかと
思ったのですか。「#」は、結局、サーバには送られないわけですね。

スクロールバーのスライダの位置が変らないというのが目標なんで
すが、この方法だと name で指定した所に飛ぶので、微妙にずれま
す。post しても内容が変らない場合などは、画面全体がスクロー
ルしてしまうこともあります。でも、当初の目的は概ね達成できま
した。ありがとうございました。

> > JavaScriptとCookieですか。両方とも普段は切っているので、あん
> > まり使いたくはないのですけれど。
> まあそういうことならやめとくんでしょうけど。

> JavaScript、面白いし好きです 久野

JavaScript は、面白いのかもしれないけれど、クロスサイト・ス
クリプティング攻撃がいかんとも。

動的に作る内容に JavaScript を入れる所に問題があるとして、
JavaScript のプログラムを静的なファイルに入れておくのでは駄
目なんでしょうか。動的に、JavaApplet を作るという話は、あま
り聞いたことがありません。

新着メール 0 件