2011-11-13 9 views
0

私はaoro dot roのような同様のドロップダウンメニューを実行しようとしました。クロムでは、Safari、ie6は私のように機能するようですが、mozila Firefox 3.6ではいくつかの問題があります。カーソルを速く動かすとドロップダウンが消えます。私はこの問題が最初の要素の子どもから来たと思います。 この瞬間に私は間違っているt know what i mをドンしません。ありがとう。私は、問題はあなたがここで起こっ競合状態のビットを持っているということだと思いますドロップダウンメニューjquery

<div class="navigator"> 
    <ul> 
    <li id="for_her"><a href="#" title="I`Parfumuri.ro | Parfumuri pentru EA"><span class="fpi"></span> Parfumuri pentru ea</a></li> 

    <li id="for_him"><a href="#" title="I`Parfumuri.ro | Parfumuri pentru EL"><span class="mpi"></span> Parfumuri pentru el</a></li> 

    <li id="gifts"><a href="#" title="I`Parfumuri.ro | Seturi cadou"><span class="sci"></span> Seturi Cadou</a> 
    <div class="under_menu" style="display:none;"> 
     <div class="vertical_r"> 
     <h5>Cadouri pentru ea</h5> 
     <ul> 
     <li><a href="#">Produs 1</a></li><li><a href="#">Produs 2</a></li></ul></div> 
     <div class="vertical_r"> 
     <h5>Cadouri pentru el</h5> 
     <ul> 
     <li><a href="#">Produs 1</a></li><li><a href="#">Produs 2</a></li></ul></div> 
     </div> 

</li> 
</ul> 
</div> 



     $("#gifts").mouseover(function(){       
         $(this).children().show();            
     }); 
     $("#gifts > .under_menu").children().mouseover(function(){ 

        $("#gifts > .under_menu").show(); 
     }); 

     $(document).bind('mouseout',function(e){ 
       var click1 = $(e.target).attr('id'); 
       var click2 = $(e.target).attr('class'); 
       if(click1 != "gifts" || click2 != "under_menu"){ 
          $(".under_menu").hide(); 
        } 
     }); 

答えて

0

:よう

コードが見えます。

子どもから別の子供(#gifts)に移動すると、トリガーされるマウスオーバーとマウスオーバーが発生します。マウス出力が最後にトリガーされると、メニュー全体が非表示になります。

たとえば、マウスオーバーの場合は200msのタイムアウトを実装し、マウスオーバーが呼び出された場合はタイムアウトをクリアします。

こうすれば、mouseoutは.2sをトリガーにします。次のmouseoverイベントがトリガーするのに十分な時間です。

+0

です...アドバイスありがとうございます。今度はMozila Firefox 3.6でうまくいくようです。私はJavaScriptをあまり経験していません。 –

関連する問題