お世話になっています。
現在、スタイルシートのvisibility属性を利用してリンクをクリックすると、見えなかったテーブルを表示させる、というサンプルを作っています。
しかし、テーブル内にスタイルシートの設定を入れた途端、Netscape4のみ動作しなくなりました。(「#この部分が~」のところです)
原因が分かれば、教えていただきたいと思います。
ソースは次の通りです。
function hyoji(lay){
if(document.getElementById) {
document.getElementById(lay).style.visibility = 'visible';
}
else if(document.all) {
document.all(lay).style.visibility = 'visible';
}
else if(document.layers) {
document.layers[lay].visibility = 'show';
}
}
<A HREF="javascript:hyoji('test0')">ZERO</a>
<A HREF="javascript:hyoji('test1')">ONE</a>
<A HREF="javascript:hyoji('test2')">TWO</a>
<div id = "test0" style="position:absolute; top:100px; left:100px ;visibility:hidden">
<table border=3>
<tr>
<td bgcolor=teal>ZERO</td>
</tr></table></div>
<div id = "test1" style="position:absolute; top:200px; left:100px ;visibility : hidden">
<table border=3>
<tr><td bgcolor=hotpink>
#この部分が問題?
<span style="line-height:120%">ONE</font></td>
</tr></table></div>
<div id = "test2" style="position:absolute; top:150px; left:100px; visibility : hidden">
<table border=3>
<tr><td bgcolor=hotpink>TWO</td></tr>
</table>
</div>
No.2ベストアンサー
- 回答日時:
再び失礼します。
私自身は、Netscape 4のDHTMLについてはあまりよくわかっていないので、スクリプトが間違っているかどうかは判断しにくいのですが… スタイルシートの適用前に正常に動作していたのであれば、スクリプト的には問題がないと判断していいと思います。
Netscapeでは、JavaScriptでエラーが出たときに、そのエラーの内容などをJavaScriptコンソールで確認できたと思います。 もし、そこに具体的にエラーメッセージが出ているとしたら、それが原因の究明に繋がるかもしれません。 そちらの方も、一度確認されると良いと思います。
とりあえずですが、タグ内でスタイルシートを定義するのではなくて、Head内でスタイルシートを定義しておいて、class属性やid属性などをセレクタとして利用して、目的の部分にスタイルを適用する形にしてみるのは、いかがでしょうか。 これが対策になるかどうかは、まったくわからないのですが…
あまり的を射ない話ばかりですみません。
いえ、こちらこそあまり要領を得ない質問で申し訳ありません・・・。
Netscape4の場合、Class属性を利用した方がいい、というのは別の場所で聞いておりましたので、ともあれhead内で定義して使うようにしたいと思います。
なお、蛇足ですがコンソールで確認すると、lay部分が取得できないとなっていました。
やはり実装が問題なのでしょう、ということにいたします。
ありがとうございました!
No.1
- 回答日時:
直接の原因がわかる訳ではないのですが、ちょっと気になったところがあります。
問題として疑っている部分ですが、スタイル指定の入った要素が、開始タグは<span>なのに、終了タグが</font>になっています。 このせいで、その部分以降のHTMLが正常に解釈されずに、スクリプトの動作も停止している可能性も考えられるのではないでしょうか。
もしそこが原因ではないとしたら、ちょっと原因の見当がつかないのですが…
Netscape 4のCSSの実装はひどいバグだらけですので、仕様でそうなっているという可能性は否定しきれないかもしれません。
見当違いでしたら、ごめんなさい。
回答、ありがとうございます。
申し訳ありません、</span>が</font>になっているのはここへ質問する時、出来るだけ字数を少なくしようと、ソースを削っていて出たミスです。
実際は、</span>できちんと囲まれています。
Netscape4の実装がひどいのは聞いていますが、自分のスクリプトに自信がないので、まず原因はそこだろうと思い、質問しましたが…。
やはり、そもそもの実装の問題になるのでしょうか。
だとしたら解決方法がないので、この質問はクローズいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<tr>指定した表の行要素をボ...
-
初心者です。gulpでコンパイル...
-
前回の質問の続き function mov...
-
前回の質問の続き function mou...
-
このプログラムに王様の逃げ道...
-
スマホ上で、左右スワイプで次...
-
その要素がjQueryでremove()済...
-
ローディングアニメーションの...
-
食材の期限を管理するためにGAS...
-
このプログラムに、王手をかけ...
-
ビデオのJSについて
-
鍵盤アプリで、スマホの画面に...
-
<div>のタッチ状態を維持したま...
-
jQueryでシンセサイザーを作っ...
-
プログラミング 学習
-
HTMLでサブフレームから親のス...
-
ジャバスクリプトについて。
-
プログラムについて。
-
Q&A掲示板の入力フォームに文字...
-
メールフォームの日付入力フォ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
食材の期限を管理するためにGAS...
-
ビデオのJSについて
-
前回の質問の続き function mov...
-
このプログラムに、王手をかけ...
-
このプログラムに王様の逃げ道...
-
初心者です。gulpでコンパイル...
-
前回の質問の続き function mou...
-
鍵盤アプリで、スマホの画面に...
-
スマホ上で、左右スワイプで次...
-
jQueryで同じクラス名のものを...
-
読み込んだQRコードをフォーム...
-
追加ボタンを押した際に ok ボ...
-
Colorboxがうまく設置できません
-
階層別の組織図の自動作成について
-
二次元配列を使って順位をだす...
-
【GAS】WEBアプリでハイパーリ...
-
HTMLで作った時報アプリが動き...
-
セレクトを全て選択されていな...
-
画面遷移を行わずに同一ページ...
-
jsで質問です。 ボタンが二つ存...
おすすめ情報