こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

onMouseOverの適応範囲

困ってしまい質問させていただきます。

<div>
 <a href="t1.html" onMouseOver="javascript:document.all('id1').style.visibility='visible';" onMouseOut="javascript:document.all('id1').style.visibility='hidden';">show</a>
</div>
<div id="id1" onMouseOver="javascript:document.all('id1').style.visibility='visible';" onMouseOut="javascript:document.all('id1').style.visibility='hidden';">
 <a href="image.gif" onMouseOver="javascript:document.writeln(document.all('id1').style.visibility)">イメージ</a>
</div>
以上のhtmlでは、「イメージ」にマウスを持っていくと、hiddenと表示されてしまいます。
一度も<div id="id1"></div>から離れていないため、visibleと表示されると思っているのですが、<div></div>の中であっても、onmouseOutが実行されてしまうのでしょうか?

ブラウザはIEを利用しています。
どうか宜しくお願いします。

投稿日時 - 2005-11-01 10:20:40

QNo.1749376

困ってます

質問者が選んだベストアンサー

ちょっと何をしたいのかがよくわかっていませんでした。
多分こういう感じでいいのではないでしょうか?
おかしい動きはマウスの動きで制御する部分が(不要なのに)2箇所に記述されていることが原因である気がします。どうでしょ?

<body onload="document.all('id1').style.visibility='hidden'">

<a href="t1.html" onMouseOver="javascript:document.all('id1').style.visibility='visible'">show</a><br>
<a id="id1" href="image.gif" onMouseOut="javascript:document.all('id1').style.visibility='hidden'">イメージ</a><br>

</body>

投稿日時 - 2005-11-04 16:59:28

お礼

大変遅くなり申し訳ありませんでした。

無事に解決することができました!!

投稿日時 - 2006-09-10 23:12:45

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

確かになんかおかしい動きをしますね…
以下のソースをそのまま貼り付けて試してみてください。
もしかしたら、少し前進するのではないかと思います。


<body onmousemove="document.all.dipid1a.value=document.all('id1').style.visibility">

<input type="text" name="dipid1a">

<div>
 <a href="t1.html"
onMouseOver="javascript:document.all('id1').style.visibility='visible'"
onMouseOut="javascript:document.all('id1').style.visibility='hidden'">show</a>
</div>
<div id="id1"
onMouseOver="javascript:document.all('id1').style.visibility='visible'"
onMouseOut="javascript:document.all('id1').style.visibility='hidden'">
<a href="image.gif">イメージ</a>
</div>

<style>
div {border:solid 1px red}
</style>

</body>

投稿日時 - 2005-11-01 18:18:43

補足

お答えありがとうございますm(__)m
「<body onmousemove="document.all.dipid1a.value=document.all('id1').style.visibility">」
の一行を加えることで分かったのですが、「イメージ」にマウスを持っていくと「visible」、徐々に動かしていき、「イメージ」から外れるか外れないかのところで一瞬(1px程)「hidden」になり、「<div id="id1"~」は実際には「hidden」にはならずに残っていますね…

う~ん、色々と調べたのですが、分かりません。
もし、arakororin様の見解がございましたら、お答えをいただきたいと思います。

投稿日時 - 2005-11-04 13:29:01

あなたにオススメの質問