6

<ul>ナビゲーション用のリストを使用するページがあります(Javascript は、マウスオーバー時にスタイルを表示するかどうかを変更します)。

ページにGoogleマップがある場合、IE6とIE7を除いて、これはうまく機能しています。

この場合、ドロップダウンは機能しません。ただし、このページは FireFox 2 でも引き続き機能します。

少し調査したところ、これが IE Select Box のバグの例である可能性があることがわかりましたが、Google マップでは<div>ではなく が使用されているように見えるため、確信が持てません<iframe>

他の誰かがこれに似た問題に遭遇しましたか?もしそうなら、この問題を克服するための最善の方法に関する推奨事項はありますか?

4

5 に答える 5

2

これで問題が解決するかどうかはわかりませんが、ccsplay.co.ukでドロップダウン リストの下に表示されるメニューの問題を解決するこの解決策を試してみてください。確実にうまくいくかどうかはわかりませんが、試してみる価値はあります。

于 2008-08-21T01:41:16.547 に答える
2

このjQueryを使用して、IE6/IE7/IE8 でフラッシュ ムービーにドロップダウンが表示されないという同様の問題を修正しました。

$(function () {
  $("#primary-nav").appendTo("#footer");
});

primary-navはドロップIDダウン コンテナ要素の でありfooterIDページの最後の要素の です。次に、絶対配置を使用して、ドロップダウンをそれらが属する上部に再配置しました。

これが機能する理由は、IE がソースの順序付けよりもソースの順序付けを尊重するためz-indexです。ただし、Windows Media Player プラグインの上に重ねて表示することはできませんでした。

于 2008-08-21T03:13:39.960 に答える
2

この Google マップ スレッドによると、あなたは正しいです - IFrame は Google コードによって挿入されます。

ダンが言及したソリューションを使用する必要があります。

ccsplay.co.uk でこの解決策を試してみてください。これにより、ドロップダウン リストの下に表示されるメニューの問題が修正されます。

または、Internet Explorer HACK/Fix For Select Box Shows through DIVを参照してください。

基本的な解決策は、JavaScript を使用して、CSS メニューを IE6 の IFrame に配置することです。

別の解決策は、CSS メニューがプルダウンされたときに JavaScript を使用して Google マップを非表示にするか、CSS メニューがプルダウンされたときに Google マップを静的マップ (場合によっては Google 静的マップ) に置き換えることです。

于 2008-10-01T20:03:16.160 に答える
2

これは、IE 6+ が CSS を解析するために使用する Active-X が原因であると考えられます。

時間の経過とともに、いくつかのブラウザーと互換性を持たせるために、CSS にいくつかの IE ハックを含めるように作業を適応させる必要がありました。

最初に、Javascript を使用せずに、純粋な CSS を使用し、前述のハックを使用してメニューを作成しようとしました。それはおそらくあなたの問題を解決するでしょう。マウスオーバーなどでスタイルを変更するのに Javascript は実際には必要ありません。

CSS ハッキングとは何かを知りたい場合は、ここをクリックしてください。

純粋な CSS メニューの例を確認したい場合は、ここをクリックしてください。

お役に立てれば!

于 2008-10-01T12:15:13.900 に答える
0

すぐにはお答えできませんが、この回答に記載されているツール(特に IE DOM インスペクター) が役立つ場合があります。

于 2008-08-21T01:24:40.440 に答える