- ベストアンサー
フレームをまたいでサブメニューを表示(JavaScriptで)
http://www.milonic.com/menu/frames/ のようなことがしてみたいのですが、どのようにしたらいいのでしょうか? また、JavaScriptで、(a)という画像にマウスオーバーしたら(b)という画像を動かす、ということができますが、このとき画像は、cssを使って位置指定で行いますよね? 元の(b)という画像を<img>で書くときも stype="position:… と指定しておかないとダメみたいですが、この指定をしない方法なんてあるのでしょうか? それと(A)という画像にマウスーオーバーしたら、今まで表示されていなかった(B)という画像を、指定の位置に表示、ということをするにはどうしたらいいのでしょうか? 質問が多くなってしまいましたが、どれかひとつでも答えていただければ幸いです。 よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- nyanko_2003
- ベストアンサー率40% (241/600)
回答No.3
- nota55
- ベストアンサー率37% (138/366)
回答No.2
- nyanko_2003
- ベストアンサー率40% (241/600)
回答No.1
お礼
回答ありがとうございます。 補足がよくご理解いただけなかったようですね。文が足りなくてすいません。 現在は 「ボタン1」 「ボタン2」 「ボタン3」 がデフォルトの状態で例えば、ボタン1にマウスオーバーすると、 「ボタン1」 「sub1」 「ボタン2」 「ボタン3」 と表示するようにしました。 それで「sub1」は普段はどこにいるかというと、(top:2000;left:0)のところにいるわけなんです。 通常なら見えませんが、スクロールしたらバレちゃいます。 >→このサイトを落としてきてご覧になったかと思いますが、ロールオーバーして初めて現れるメニュー部分は、 >ソース上では「出っ放し」なのはお判りですか? >それをjsで制御して、表示させる時に隠しています。 すいません。落としてみたのは見たのですが、イマイチどの部分なのかわかりませんでした。 でも、上記の通りということは、普段は隠しておいて、マウスオーバー時のみ表示、ということができるのでしょうか? 追加質問です。 「sub1」にマウスオーバーすると、文字が変わったりするようにしたいと思い、「sub1_b」という画像を用意しました。 「sub1」にマウスオーバーしたら「sub1_b」を表示、まではうまくいくのですが、「sub1_b」を表示させなくする、がうまくいきません。 方法1として、 「sub1」からマウスアウトしたら「sub1_b」を消す、としたのですが、消えたり消えなかったり、です。 また画像の上をマウスを動かすとチカチカします。 同じように「sub1_b」からマウスアウトしたら「sub1_b」を消す、という方法も試したのですが、こちらも結果は同じでした。 なぜこのような不安定な動作になるのでしょうか?
補足
表示・非表示の件については、以下のようにしてみたらできました。(見た目は) これであってるでしょうか? <script language="JavaScript"> function imageBasyo(imageName,x,y,hyoji){ document.images[imageName].style.left = x; document.images[imageName].style.top = y; document.images[imageName].style.visibility = hyoji; } </script> <body> onMouseOver="imageBasyo('sub01',150,20,'visible'); </body>