2011-01-21 15 views
1

Effect I want。基本的に私は、ユーザーがマウスオーバーしたときに簡単なメニューをポップアップしたいと思う。 私はいくつかの準備ができたスクリプトを試しましたが、私のサイトとそれらを統合するのに問題がありました。それで私は自分自身を建てることにしました。ここ は私がしようとしているものです:onmouseover javascriptドロップダウンメニューを作成しようとしています

<li onmouseover=showlist1() onmouseout=hidelist1() ><a class="navigation" href="show_delhi_items.php">Menu heading</a></li> 

function showlist1() //onmouseover 
    { 

     document.getElementById('list1').style.visibility='visible' ; 

    } 
    function hidelist1() //onmouseout 
    { 
     if (menu elements don't have focus) 
     { 
     document.getElementById('list1').style.visibility='hidden' ; 
     } 
    } 

今、この中でどのように私はパーツ「メニュー要素がフォーカスを持っていない」実装していますか?どのelemtnが焦点を当てているのか知ることは不可能です。だから私は別のものが必要です。基本的に問題は、マウスがメインリンク(隠れたメニューをポップアップするリンク)の外に移動するとすぐに、メニューが非表示になることです。私が望むのは、フォーカスを取得した場合にメニューが目に見えるようにすることです。現在はメインリンクの外にマウスがあるとすぐ隠されてしまいます

私は十分にはっきりしていました。

+1

あなたは、メニューのこれらのタイプのためにJavaScriptを必要としない、スマートにとCSSを使用して、それを構築する:あなたが使用する必要がありますマウスが外リスト項目の両方であれば代わりに:) –

答えて

1

で私より良い戻ってそれまでそのコメントをした作り。マウスがリストアイテムとメニューの両方にない場合は、メニューを閉じます。

position: absolute; 
top: some-y-value; 
left: some-x-value; 
+0

>は、メニューを閉じホバーメニュー。これをどのように検出するのですか?マウスがリスト項目の外にあるかどうかを調べることができますが、マウスがメニューの外側にあるかどうかはどうすればわかりますか? –

+0

カーソルがドキュメントの本文の上を移動するときに、リストアイテムまたはメニューから離れるときではなく、メニューを閉じることができます。 「event.cancelBubble = true;」を使用する必要があります。あなたが望んでいないときにそれが終わったら。 – Sparafusile

+0

これはうまくいくかもしれません。カーソルが文書の本文を上ったときに発生するイベントを見つける方法を見つけた後 –

関連する問題