在此示例中根本不需要使用变量 mouse_is_inside(除非您在其他函数中使用它做其他事情,最好将其完全删除,因为它的效率较低并且只会使代码混乱)在任何情况下都不要使用在您的示例中,它只是通过以下方式调用另一个函数
$(document).ready(function(){
$('.basket_details, .advanced_search_panel, .producers_major_panel').hover(function () {
/*add the mouse_is_inside=false; here if you need it for other functionality but dont use it for hide your panels*/
fold(); /*calling this function works just like your example but it fixes the problem and makes you use 1 less variable which is better*/
});
function fold(){
$("body").mouseup(function () {
$('.advanced_search_panel, .producers_major_panel').fadeOut('slow');
$('.basket_details').slideUp('slow');
});
}
});
您也可以使用 click 实现相同的功能,因为您必须先将鼠标悬停在元素上才能单击它。(如果其他函数调用单击等,有时情况可能不正确,但希望在您的示例中它仍然可以完成工作)
$('.basket_details, .advanced_search_panel, .producers_major_panel').click(function(){
$('.advanced_search_panel, .producers_major_panel').fadeOut('slow');
$('.basket_details').slideUp('slow');
});
格鲁卡斯,
Niech Moc będzie z tobą