CSSとJavascriptを使ったポップアップメニューなのですが、IE6とFireFox1.5~2ではちゃんと動いていました。
しかし、IE7ではうまく動かないことが判明してしまいました。(すべてwindowsXP sp2で確認)
原因を探ったところ、メニュー全体に指定しているCSSの「position:absolute」でした。
(具体的には、メニュー全体を<div id="navbar"></div>で囲んでいて、CSSにおいて#navbarのプロパティでpositionを指定しています)
これをはずせばきちんと動きますが、そうするとレイアウトが崩れるのでできません。
なにかよい方法はありますでしょうか。
お知恵をかしてください。
以下のリンクに、ポップアップメニューとコードがあります。
よろしくお願いします!
http://syuwach.nigamushi.net/test.html
IE7だけでなくWindows版のIE全体の仕様(?)の影響と考えられます。「IEで position:absolute した要素が消えるバグ」を参考にしてください。
対策としては、
#navbar{ position: relative; }
とするのが手っ取り早いのですが、メニューバーの位置を絶対座標で指定されているのでしょうか? その場合は、個別の要素を position:absolute 指定することで、何とか調整してみてください。