マウスオーバー時の非表示・表示への切り替えをNNでも実現できないでしょうか。

[上に] [前に] [次に]
シンゴ [E-Mail] [HomePage] 1999/11/23(火) 01:59:22
 非表示となっていた説明文を、マウスオーバーで表示へと切り替えるものを作ろうとしています。とほほさんがアラカルトで紹介されているものでも、ホームページビルダー2001が自動的に作ったものでも、IEのみ動作可能で、NNはだめです。
 それから、もう一つあります。ロールオーバーで用いる画像の先読みがうまくいかないために、一回目に少しタイムラグが出てしまいます。
 初心者なので状況をあまりうまく説明できません。テストページをアップロードせたので(これも初めてでドキドキだった)、できましたらご覧下さり、アドバイスをお願いします。

tky 1999/11/23(火) 04:21:52
説明文表示については、こちらにソースも短い例がありました。http://www2f.biglobe.ne.jp/~takan/javac/dhtml/cross/link_info1.htm

あと、画像切り替えについては、以前知り合いのために用意したものが・・
http://www.interq.or.jp/tokyo/takyo/temp/webdesign/imgswap/index.html

両方ともWin98のIE4とNC4.51でOKでした。

シンゴ [E-Mail] [HomePage] 1999/11/23(火) 10:25:30
 tkyさん、ありがとうございます。早速、見にいきました。ソースを見ていろいろ研究してみます。
 紹介していただいたリンクの上の方については、私が望んでいるものと全く同じものがありました(クリックによって、表示・非表示を切り替える)。ただ、やはりIEしかだめみたいです。表示する文章にも色わけなどを使いたいのですが、そのために<BLOCKQUATE>を使うとNCではだめみたいです。
 下の方は、すぐに活かせそうでした。画像の先読みについてはいろいろなソースを調べたりして何とか解決しそうです。ページのデザインがシンプルで見やすく、好みでした。参考にさせていただきます。

クサノシンジ 1999/11/23(火) 10:36:59
DHTMLではなくて単にif (document.images)でいいなら、
こんなのもありましたよ
http://www.unisys.co.jp/DIGID/

シンゴ [E-Mail] [HomePage] 1999/11/23(火) 11:24:29
▽クサノシンジさんありがとうございました。さっそく見てきました。使われていた画像の切り替えはタイムラグもなく、先読みがうまくいっているようでした。
▽ご覧の皆さんへ
ロールオーバーで使う画像をキャッシュに先読みさせておくには、
if (document.image) { 
img1 = new Image(); img1.src = "XXX.gif";
と書くみたいですが、間違いないでしょうか。ロールオーバーを使っているページにはこういう記述があるのでまねをしているだけです。初心者なので意味も分からず、「これをいじるとこうなるから…」などと経験則でしか理解できない状態です。
 と、これを書きつつ、いろいろソースを見ていると、
if (document.images) {
 と、imagesという複数形を使っているページがあることを発見。なんか、関係あるのかなあ。とりあえず、この後リサーチに。 
 それから(長くてすみません)、非表示となっていた説明文を表示へと切り替える件を補足させていただきますと、説明文の中でも、ボールドや色分けを使いたいし、改行もしたいのです。実は、教材を作っていまして、問題文をさわると解答・解説が表示される、ということをしたいのです。何か、マイナーな用途かもしれませんが、困っているのでよろしくお願いします。IEだけなら既にOKです。NCと両方OKにしたいのです。

シンゴ [E-Mail] 1999/11/23(火) 12:22:28
 ロールオーバーの画像先読みの件、自力で何とかなりました。ロールオーバーを複数作るときには、imageではなくて、imagesと複数形にしないとダメみたいでした。そんなことは基本だ!と言われそうですが。
 もう一つの問題は悩み続けていますが、どうやら無理らしい、と勝手に結論を出しつつあります。どうしたものでしょう?

きたむら 1999/11/23(火) 14:30:32
http://www.tohoho-web.com/wwwxx023.htm
↑とほほさんのアラカルトのスクリプトですが、NCで動作しませんか?
うちのNN4.04だとうまく動作するんですが…。

シンゴさんのサンプルページを同様に書き直すとすると、
BLOCKQUOTEの内側にILAYERタグを入れて、

<BLOCKQUOTE id=id1 class="intro">
<ILAYER NAME=id1 VISIBILITY="hide">
  -- ここに文章を書く --
</ILAYER>
</BLOCKQUOTE>

という感じになるでしょう。
そしてJavaScriptのほうでは、とほほさんの例のとおりに、

if (document.all) {
  IE用の処理
}
if (document.layer) {
  NC用の処理
}

と書けばいいはずです。シンゴさんのサンプルをダウンロードして
上記の変更を加えると、NN4.04でちゃんと動作することを確認しました。

きたむら 1999/11/23(火) 14:33:52
上の訂正でーす。
× document.layer

○ document.layers

シンゴ [E-Mail] 1999/11/23(火) 18:27:43
[[解決]]
 みなさん、ありがとうございました。
 きたむらさんのアドバイスにしたがって、書き直してみたところあっけなくできました。とりあえず丁重に保存し、さらにバックアップをとりました。一体どういう仕組みになっているのかは、これからゆっくり勉強します。これができるということは、tkyさんに紹介していただいたリンク先にあった、クリックによって説明文が表示されるタイプもできるのかなあ、でもIEのみになってたなあ、などとさらに疑問が生まれますが、がんばって勉強することにします。
 みなさん、お世話になりました。こういう場を提供されている、とほほさんにも感謝。

[上に] [前に] [次に]