2009-04-22 21 views
0

に「点滅」:​​ドロップダウンメニュー私はステューニコルズに基づいてドロップダウンメニューを作成しようとしていますIE6

私が理由ですので、鉱山は、以上選択ドロップダウンを行くとIE6/7準拠する必要があります」このすべてのiFrameナンセンスを使用しています。 IEが無限のzindex値を設定してドロップダウンを選択するため、z-indexを変更しても問題は解決しません。

私の問題は、ウェブサイトから私のアプリケーションにドロップダウンメニューをコピーして貼り付けると、それが "点滅"するIE6以外のすべてでうまく動作するということです。つまり、別のメニュー項目の上にマウスを置くと、小さな瞬間に消滅して再び表示されます。 IE6では、実際にあなたがメニューを表示していないと考えているからです。

私はすべてを試して、何時間もドロップダウンメニューを見つけずにGoogleをブラウズしました。あなたはこの問題を引き起こす可能性があることを知っていますか?

おかげ - それはhaslayout財産だと

答えて

0

私の問題を解決する方法を見つけました。 Chromeドロップダウンメニューを使用しています:http://www.dynamicdrive.com/dynamicindex1/chrome/index.htm

コードはシンプルで、きれいで、完璧に動作します。私はそれをカスタマイズし、いくつかの苦労があったが、今では行われていますし、私の人生ははるかに優れています:

<div class="chromestyle" id="chromemenu"> 
<ul> 
<li><a href="http://www.dynamicdrive.com">Home</a></li> 
<li><a href="#" rel="dropmenu1">Resources</a></li> 
<li><a href="#" rel="dropmenu2">News</a></li> 
</ul> 
</div> 

<!--1st drop down menu --> 
<div id="dropmenu1" class="dropmenudiv"> 
<a href="http://www.dynamicdrive.com/">Dynamic Drive</a> 
<a href="http://www.cssdrive.com">CSS Drive</a> 
<a href="http://www.javascriptkit.com">JavaScript Kit</a> 
</div> 


<!--2nd drop down menu --> 
<div id="dropmenu2" class="dropmenudiv" style="width: 150px;"> 
<a href="http://www.cnn.com/">CNN</a> 
<a href="http://www.msnbc.com">MSNBC</a> 
<a href="http://news.bbc.co.uk">BBC News</a> 
</div> 

<script type="text/javascript"> 
cssdropdown.startchrome("chromemenu") 
</script> 
1

時にはIEは問題を持っています。

height: 1%; 
+0

どの要素を設定する必要がありますか?それらのすべて?すでに高さの値がある要素のレイアウトを破ることはできませんか? ありがとう – marcgg

+0

高さ値を持つ要素にはレイアウトがあるため、他の要素(マークアップがわからないため、特定できない)にスタイルプロパティを定義するレイアウトがない可能性があります。それらはあなたが探す必要があるものです –

+0

ありがとう!悲しいかな、私はメニューで高さのないすべての要素に設定しようとしましたが、うまくいきませんでした。 – marcgg

1

私はあなたが何か他のものを使用することをお勧めし「その男」であることを嫌い、あなたはニコルズコードを使用して設定している場合は、これを試さないでください:すばやく簡単に修正が設定することです。しかし、Stu Nichollsのドロップダウンメニューで販売されていない場合は、YUI's menusをチェックすることができます。具体的に言えば、iframe-to-fix-ie6-bugsのサポートで大きな成功を収めているからです。 (少なくとも、サンプルコードを使用して、IE6が他のドロップダウンメニューでうまく動作するかどうか、それともNichollsのものかどうかを確認することができます)。

+0

それはうまく動作しないので、他のものを試してみるかもしれません。私は今それを見ます。 – marcgg

+0

IE6/7/8や他の主要なブラウザ(はい、Operaでも可能)でうまくいくいくつかのメニューがあります。grc.comで完全にCSSベースのメニューを利用できるコードがあります。私が使っている良いJSベースのもの、私はちょうど現時点で元のリンクを見つけることができません。 – AnonJr

+0

Stuのものは私に感動しません。私は、ウェブサイトの名前が "CSS Play"を要約すると思う。彼の仕事は、あなたが*すべきことではなく、あなたが*できることに集中するようです。 –

0

これは必要なのかどうかは分かりませんがjQuery bgiframe pluginは選択問題をきれいに処理するので、すべてを手動で行う必要はありません。

希望に役立ちます。

+0

ありがとう、私はそれを今見てみましょう – marcgg

+0

それは動作していません。たとえ例がIE6で動作しない場合 – marcgg

+0

これはかなり奇妙です、ネイティブのIE6またはいくつかのエミュレータを使用していますか? –

-1

IEはブラウザの残りの部分とは異なるイベントトリガーを使用しています。マウスのためにこれをやってみてください。

 //browser sniff 
     if (navigator.appName == "Microsoft Internet Explorer") { 
      document.getElementById('yourtriggerid').onmouseleave = function() { 
       document.getElementById('themenuid').style.display = "none"; 
      }; 
     } else { 
      document.getElementById('yourtriggerid').onmouseout = function() { 
       document.getElementById('themenuid').style.display = "none"; 
      }; 
     } 

'yourtriggerid'では、イベントをトリガしたいものは何でもあり、その後、'themenuid'メニュー/絶対位置非表示にしたいのdivやショーです。

IEのイベントをトリガーするキーはonmouseleaveです。これが誰かを助けることを願って!

関連する問題