2012-03-15 34 views
2

我有一個水平的動畫菜單,有一個奇怪的行爲,因爲它只工作正常第一次,之後,可展開菜單沒有動畫,我不明白爲什麼沒有應用 ul#nav ul{display:none;}更多...這是我用於動畫的jQuery函數。水平菜單不會隱藏後第一次運行

function mainMenu(){ 
$('ul#nav').find('> li').hover(function(){ 
     $(this).find('ul') 
     .stop(true, true) 
     .slideDown('slow'); 
    }); 
}; 

回答

3

也許這將工作:

function mainMenu(){ 
$('ul#nav').find('> li').hover(function(){ 
     $(this).find('ul') 
     .stop(true, true) 
     .slideDown('slow'); 
    }, function(){ $(this).find('ul').hide(); }); 
}; 

的問題是,第一次你有你的<ul>隱藏所以它的工作就好了。在slideDown()之後,<ul>變得可見,但是當您移動鼠標時,只需更改左側屬性,而不是顯示。基本上,<ul>已經可見,所以slideDown不起作用。

+0

讓它工作,非常感謝。 Multumesc frumos;) – RulerNature 2012-03-15 10:20:44