除了一个条件外,下面的代码效果很好。如果用户在doc准备好之前将鼠标悬停在元素上,则slideToggle将不同步(或反转)。
结果是#log_in_nav在mouseout上显示,并且在悬停时该框消失。解决这个问题的简单方法是什么?
$("#logged_in_box").hover(function(){
$("#logged_in_nav").stop(true, true).slideToggle("fast");
$(this).addClass("logged_in_box_hover");
}, // hover over
function() {
$("#logged_in_nav").stop(true, true).slideToggle("fast");
$(this).removeClass("logged_in_box_hover");
} // hover out
); // hover
答案 0 :(得分:3)
请勿使用slideToggle
。请改用slideDown()
(docs)和slideUp()
(docs),以便方向明确与事件类型相关联。
$("#logged_in_box").hover(function(){
$("#logged_in_nav").stop(true, true).slideDown("fast");
$(this).addClass("logged_in_box_hover");
}, // hover over
function() {
$("#logged_in_nav").stop(true, true).slideUp("fast");
$(this).removeClass("logged_in_box_hover");
} // hover out
); // hover