Итак, у меня есть две кнопки, когда я навожу на них мышь, я хочу, чтобы панель выскочила и оставалась открытой, однако, если мышь нажмет другую кнопку, панель закроется, а панель, соответствующая новой кнопке, откроется. Однако этот подход не очень эффективен, поскольку, если я наведу указатель мыши на кнопку, пропущу панель и перейду в другое место, панель останется открытой. Мое решение состояло в том, чтобы создать div за кнопками, я хотел, чтобы мой jquery закрывал любые открытые панели, когда мышь перемещается за пределы панелей или кнопки. Однако по какой-то причине приведенная ниже функция $('#Container').hover(function()) не работает. Есть предложения?
код ниже, ссылка на проект: http://jsfiddle.net/max0626/727qp/
$(document).ready(function () {
$('.panel1').hide();
$('.panel2').hide();
$('#Button1').mouseenter(function() {
$('.panel2').hide();
$('#Button2').removeClass('active');
$('.panel1').fadeIn("slow");
$('#Button1').addClass('active');
});
$('.panel1').mouseleave(function() {
$('.panel1').fadeOut("fast");
$('#Button1').removeClass('active');
});
$('#Button2').mouseenter(function() {
$('.panel1').hide();
$('#Button1').removeClass('active');
$('.panel2').fadeIn("slow");
$('#Button2').addClass('active');
});
$('.panel2').mouseleave(function() {
$('.panel2').fadeOut("fast");
$('#Button2').removeClass('active');
});
$('#Container').hover(function() {
$('.panel1').fadeOut('fast');
$('.panel2').fadeOut('fast');
$('#Button1').removeClass('active');
$('#Button2').removeClass('active');
});
});