2010-08-12 3 views
0

У меня есть меню SlideUp, которое действует беспорядочно, потому что иногда, если я слишком быстро перехожу через него, он скользит вверх и вниз, возможно, 4 или 5 раз. В других случаях, если я нахожусь над ним до того, как он будет правильно загружен, меню будет slideUp, и это станет его «нормальным» состоянием, так что, если я нависну над ним, он сдвинется вниз, прежде чем у меня будет возможность щелкнуть любые пункты меню.jQuery slideUp menu toggle?

Вот код:

$(document).ready(function(){ 
var opened = false; 
$("#menu_box").hover(function(){ 

    if(opened){ 
    $("#menu_box").animate({"top": "+=97px"}, "200"); 
    } 

    else{ 
    $("#menu_box").animate({"top": "-=97px"}, "200"); 
    } 


    $("#menu_content").slideToggle("200"); 
    $("#menu_tab .close").toggle(); 
    opened = !opened; 


}); 
}) 

Код был первоначально функции нажмите, а не зависать, так что я попытался внесения в нее поправок к следующему:

$(document).ready(function(){ 
$("#menu_box").hover(function(){ 

    $("#menu_box").toggle(function(){ 

    $("menu_box").animate({"top": "-=97px"}, "200"); 
    $("#menu_content").slide("200"); 

      }); 
}); 
}); 

Но это только что сделал меню исчезают справа налево - вовсе не скользя.

Куда я иду не так? ТИА!

+0

Можете ли вы опубликовать более полный пример с html и JavaScript? Благодаря! –

ответ

1

Исправлена ​​ошибка с привязкой mousenter/mouseleave вместо зависания!