onmouseoverを使って、隠していた<DIV>を表示させたいと思っています。
<li>にマウスが重なったら、その直前に表示させていた<DIV>を隠した上で、idに対応する<DIV>を表示させ、さらに<H2>に重なった場合にも隠す、という流れの処理を考えています。
firefoxのエラーコンソールでは「descriptionw0 is not defined」となって、動作しません。IEでもエラーになります。
どこかでミスをしてはずなのですが、どうやっても上手くできないので、知恵を貸していただけないでしょうか。よろしくお願いします。
--------------------------
javascript
---------------------------
<script language="javascript">
<!--
var target = null;
function mOver(t){
if(target!=null){
document.getElementByID(target).style.display = 'none';
}
document.getElementByID(t).style.display = 'block';
target = t;
}
function mOut(){
if(target!=null){
document.getElementByID(target).style.display = 'none';
}
target=null;
}
//-->
</script>
----------------------------
HTML部分
----------------------------
<div class="part">
<h2 class="title" onMouseover="mOut()">***</h2>
<ul class="article">
<li onMouseover="mOver(descriptionw0)"><a href="#">AAA</a></li>
<li onMouseover="mOver(descriptionw1)"><a href="#">BBB</a></li>
</ul>
<div class="description" id="descriptionw0" style="display:none;">aaa</div>
<div class="description" id="descriptionw1" style="display:none;">bbb</div>
</div>
No.1ベストアンサー
- 回答日時:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Q3771048 TestCase 1</title>
<script type="text/javascript">
//<![CDATA[
//個人的には<!--によるコメントアウト嫌いです。デクリメント書けないし。
//その他、Ecmascriptを理解しないUAには何も補足が表示されないが
//それはいいのか?
//(当方環境の都合上,IEではテストしてない)
var target = null;
function mOver(t){
if(target!=null){
document.getElementById(target).style.display = 'none'; /* Ecmascriptは大文字小文字を区別する。正しくはgetElementById*/
}
document.getElementById(t).style.display = 'block';
target = t;
}
function mOut(){
if(target!=null){
document.getElementById(target).style.display = 'none';
}
target=null;
}
//]]>
</script>
</head>
<body>
<div class="part">
<h2 class="title" onmouseover="mOut();">***</h2>
<ul class="article">
<li onmouseover="mOver('descriptionw0');"><a href="#">AAA</a></li> <!-- 変数ではなく文字列なので 'で括る必要がある -->
<li onmouseover="mOver('descriptionw1');"><a href="#">BBB</a></li>
</ul>
<div class="description" id="descriptionw0" style="display:none;">aaa</div>
<div class="description" id="descriptionw1" style="display:none;">bbb</div>
</div>
</body>
</html>
himajin100000さん、回答ありがとうございます。
指摘された修正点を反映させたところ、IEとfirefoxで表示することができました。
ダブルクオテーションとシングルクオテーションの使い方を、きちんと理解できていませんでした。(getElementByIdは論外ですね。)
javascript未対応ブラウザについては別途CSSで対応したいと思います。
ずっとこの問題について悩んでいたので、スッキリしました。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォントサイズの変更
-
戻ってきた時ツリーメニューが...
-
多階層ドロップダウンのスマホ...
-
pythonのDjangoでHTML内で変数...
-
jqueryのsortableで一部ソート...
-
文字と数字が混在する要素のsor...
-
jqueryアコーディオンのマウス...
-
jQueryセレクタ/複数要素の指...
-
プルダウンメニュー連動後の処...
-
ツリーメニューについて
-
jqueryプルダウンメニュー個別着色
-
javascript テキストエリアを1...
-
MAX関数を使ってからLEFT JOIN...
-
c++std::string型をTCHARに変換...
-
htmlの記述で link rel=styles...
-
JQueryで画像の上で文字を動かす
-
ロールオーバー効果にならない。
-
jspでcssが読み込めない
-
スライダーを実装した場合、ペ...
-
離れた場所にマウスオーバーで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jqueryのsortableで一部ソート...
-
javascriptでEnterキーをtabキ...
-
クリックした<a>タグのみにClas...
-
チェックボックスに入っている...
-
【javascript で動的に a タグ...
-
jquery ドロップダウンメニュー...
-
「jQuery」アコーディオンメニ...
-
jQueryで、リンクURLの一致を確...
-
jQueryのeqで最後からn番目以降...
-
ネストされたチェックボックス...
-
javascriptで、クリックしたら...
-
onmouseoverの表示切り替えが上...
-
文字と数字が混在する要素のsor...
-
jQueryでネスト構造の<li>がク...
-
タブメニューを上下に設置
-
<li></li>の数を制限
-
jQuery多層式アコーディオンメ...
-
どの<li><a> が押されたか判別...
-
CSSとJavaScriptを使ってドロッ...
-
複数の画像をランダム(シャッ...
おすすめ情報