リストボックスのスクロールバーを連動させるには?
[上に]
[前に]
[次に]
saku
1999/07/02(金) 20:21:29
こんにちは、またまたまた質問させて下さい。
例えばリストボックス(<SELECT SIZE=5>とか)を2つ以上ならべて、どれか1つでもスクロールバーが動かされたら他のリストボックスのスクロールバーも一緒に動かすという事は、可能でしょうか?
各リストボックスに格納されている行数は一緒で、行毎に関連が有ります。
どなたかご存知の方、よろしくお願いします。
Aurai
[E-Mail]
1999/07/03(土) 00:48:37
スクリプトだけじゃ無理じゃないかと思います
JAVAでスクロールイベントを受け取れば可能でしょうか
saku
1999/07/05(月) 02:05:14
Auraiさん、レスありがとうございます。
>JAVAでスクロールイベントを受け取れば可能でしょうか
これはJavaアプレットという事でしょうか?
うーん、だめなんですかねぇ
Tmb
1999/07/05(月) 10:36:33
本当に「スクロールバー」であればJavaScriptだけでは無理だと思いますが。
でもSELECTでスクロールバーが出るのは珍しいというか,MULTIPLEのときだけ
だと思うのですけど。
#ブラウザによっても変わるでしょうが,Mac版NNでは少なくとも。
単にSELECTで選ばれた項目を拾って連動させるのであればJavaScriptで可能ですが。
#それぞれのSELECTにonChangeを付けて,その時のselectedIndexを拾い,すべての
#SELECTのselectedIndexをその値に変えるだけですが。
saku
1999/07/05(月) 23:22:25
Tmbさん、レスどうもありがとうございます。
>単にSELECTで選ばれた項目を拾って連動させるのであればJavaScriptで可能ですが。
おっしゃる方法でやっているんですが、各SELECTのスクロールバーが別々に動かされた時、
この方法だと見栄えが悪くなってしまうのです。
インデックスが同じでも実際に表示されている位置が違うと、バラバラに選択されているように見えてしまうのです。
1つのSELECTで表示するのでもいいのですが、そうすると文字の位置合わせが狂ってきてしまうし・・・。
困った事になってます。
うーん、だめかな。
リストボックスのフォントって変更できましたっけ?
等幅フォントに変更できればいいのですけれどもね。
むむむ
Tmb
1999/07/06(火) 18:28:11
うーむ,難題ですね。
あんまり美しくないけど,onChangeのとき,selectedIndexを適当な変数に
憶えさせておき,すべてのselectedIndexを0に(リストの最初の項目に)
変え,その後で保存していた変数の値に書き換えるとか。実際に試した
わけではないですけど,selectedIndex=0にしたときに,スクロールバー
が先頭に戻るなら,一応選択されてる行は揃うかも。
#ただ,選んだ行が大抵の場合,表示される最初の行に移動する。さらに動作中
#ちらつくかもしれない。どうも美しくないなぁ
せめて現在表示されてる最初の行を得るプロパティでもあれば,無理矢理にでも
できないことはない(seletcedIndexを0→最初の行→選択されてた行にする)
でしょうけど,そんなの見当たらないし。
Tmb
1999/07/06(火) 18:35:10
うー,駄目か。
selectedIndexを表示されてない値にしても,スクロール領域は
変化しませんでした。
Nobu3
1999/07/07(水) 14:32:56
スタイルシート対応なら、セレクトボックスに指定すればフォントを変更できますね。
これならスペースで揃える事もできそうですが、現状のNNでは無残な結果になるでしょうね・・・
セレクトボックスを使う意図がよくわかりませんが、
揃えるだけならテーブルを使えば・・・
あとは、セレクトボックスのサイズを最大値にするとか(スクロールさせない)・・・
あぁ・・・意味ないですね・・・
saku
1999/07/07(水) 22:29:18
Tmbさん、Nubu3さん、レスありがとうございました。
>うー,駄目か。
試していただけるとは...感激です!!
やっぱりだめですかねぇ
>セレクトボックスを使う意図がよくわかりませんが
見栄えもいいし、画面サイズも限られているし・・・
フォント指定できるんですか。
調べてみます。
saku
1999/07/10(土) 13:31:38
こんにちは
<SELECT>のフォント指定を行なってみましたが、
等幅フォント(MS ゴシック)を設定しても、
スペース文字はつめて表示されてしまいました。
これを回避する事は出来ませんでしょうか?
どなたかご存知の方、御教授下さい。
よろしくお願いします。
Tmb
1999/07/12(月) 17:00:36
>スペース文字はつめて表示
とか,全角スペースでは無理ですか?
saku
1999/07/13(火) 13:34:37
Tmbさん、レスありがとうございます。
スペースをつめてもですね、例えば'a'と'i'では文字の幅が変わってしまって表示がうまく出来ないのです。
例)
aaaa ああああ
iiii いいいい
<SELECT>のフォントを等幅に設定できればよいのですが・・・
御存じないでしょうか?
Tmb
1999/07/13(火) 14:00:53
?? ってことは等幅フォントを使ってるつもりが,プロポーショナルに
なってるってことでは?
残念ながらWindowsのフォントについては詳しくないので的外れかも
しれないですが,一応確認までに。
・MSゴシックは確かに等幅ですか?
・半角英字も等幅で扱われますか?
・他に妥当な等幅フォントはありませんか?
・SELECTのフォント指定は確かに働いてますか?
原因として考えられるのはこのくらい?
saku
1999/07/13(火) 14:22:42
[[解決]]
Tmbさんレスありがとうございます
まさかこんなに速いレスが付くとは思いませんでした。
確認事項についてですが、ちゃんと等幅で設定されていませんでした。
「MSゴシック」→「MS ゴシック」でした。
半角スペースが抜けてました。
で、実際に試したところちゃんと等幅で表示され、残る半角スペース問題も「 」を使用する事により正常に表示されました。
あとは空白スペースを「 」に置換して出力するだけです。
ながながと質問に付き合っていただき、ありがとうございました。
これにて解決とさせていただきます。
[上に]
[前に]
[次に]