2012-02-22 187 views
0

我有一個像菜單:隱藏的CSS菜單後,點擊

<ul class="sub"> 
    <li><a href="#">New</a></li> 
    <li><a href="#">Open</a></li> 
    <li><a href="#">Save</a></li> 
    <li><a href="#">Help</a></li> 
</ul> 

這是「動畫」通過CSS懸停代碼(沒什麼特別的)。 Open選項啓動文件打開功能(通過隱藏的「input type = file」控件)。這一切都可以正常工作,但是當我完成「文件打開」對話框時,菜單仍然顯示(雖然很簡單)。點擊「打開」後,有沒有辦法讓菜單消失,甚至在「打開對話框」運行之前在屏幕上顯示(消失)? TIA

+3

你有工作代碼,也許是的jsfiddle的例子嗎? – mikos 2012-02-22 20:36:41

+0

這裏是它如何結束(或多或少),使用rgthree的解決方案:http://jsfiddle.net/djprog/7ZLU3/ – davej 2012-02-23 18:01:26

回答

1

你想要做的就是在窗口模糊時隱藏子菜單。不知道你是否使用JS庫,但它只是簡單的如下。這裏有一個通用的jsfiddle:http://jsfiddle.net/rgthree/b6QSP/

window.onblur = function(){ 
    // Where "submenu" is the sub menu to hide, 
    // however you're targeting it 
    submenu.style.display = 'none'; 
} 
1

添加click事件偵聽器「打開」選項:

var openLink = document.getElementById('open'); // replace 'open' with element's ID 
openLink.addEventListener('click', clickHandler, false); 
function clickHandler() { 
    var submenu = document.getElementById('submenu'); // replace 'submenu' with submenu's ID 
    submenu.style.display = 'none'; 
}