Semplice menu jQuery Hover
Domanda
Questa sembra davvero gonfio, può essere riscritta meglio / più compatta:
$("#cart-summary").hover(
function () {
$('.flycart').slideDown('fast');
}
);
$(".flycart").hover(
function () {}, // mousein function not required
function () { // hide menu on mouseout
$('.flycart').slideUp('fast');
}
);
$('.flycart a.close').click(function(){
$(this).parents('.flycart').hide();
});
Grazie!
Soluzione
$("#cart-summary").mouseenter(function () {
$('.flycart').slideDown('fast');
});
$(".flycart")
.mouseleave(function () {
$(this).slideUp('fast');
})
.find('a.close')
.click(function(){
$(this).parents('.flycart').hide();
});
E 'un piccolo miglioramento, però. Non riuscivo a immaginare il rapporto tra il #cart-summary
ei .flycart
s.
Altri suggerimenti
In breve, no. Tuttavia, si può fare senza la funzione hover vuoto: basta usare
mouseenter()
e mouseleave()
. mouseover
e mouseout
hanno sottili differenze a mouseenter
e mouseleave
. Guardate l'API di jQuery per maggiori informazioni.
$("#cart-summary").mouseenter(function()
{
$('.flycart').slideDown('fast');
});
$(".flycart").mouseleave(function()
{
$(this).slideUp('fast');
});
$('.flycart a.close').click(function()
{
$(this).parents('.flycart').hide();
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow