#jquery #hoverintent
#jquery #hoverintent
Вопрос:
Я использую hoverIntent с сумкой для покупок (#bagContainer), и все работает нормально.
function bagOver(){
$(this).find("#bagContainer").stop().fadeTo('fast', 1).show();
}
function bagOut(){
$(this).find("#bagContainer").stop().fadeTo('fast', 0, function() {
$(this).hide();
});
}
var bagHoverConfig = {
over: bagOver,
bagTimeout: 3000,
out: bagOut
};
$("#userBox .row:nth-child(2)").hoverIntent(bagHoverConfig);
Но мне нужно добавить «дополнительную» кнопку закрытия (#bagCollapser) внутри пакета, что-то вроде:
$("#bagCollapser").click(function () {
$('#bagContainer').hide();
});
Он закрывает #bagContainer, но, похоже, есть конфликт с hoverIntent:
- кнопка скрывает пакет, но затем, после bagTimeout , hoverIntent скрывает его снова
- если пакет был закрыт с помощью кнопки, он не может быть показан снова, пока не истечет время ожидания / задержки hoverIntent…
Есть идеи?
Заранее большое спасибо!
Ответ №1:
У меня такая же проблема, я использую hoverIntent для отображения мегаменю. Внутри этого мегаменю я создал кнопку закрытия :
$("#closebutton").click(function () {
$('#megasubmenu').hide();
$('#megasubmenu').closest('li.level0').find('a.level0').removeClass("megahover");
});
Кнопка закрытия закрывает подменю, но функция hoverIntent все еще работает, потому что, как только происходит перемещение мыши, подменю появляется снова…