Afficher popup si la souris survole un élément pour une période de temps
Je me demandais comment faire pour afficher une popup/tipbox lorsqu'une souris a été planait au-dessus d'un élément pour une période de temps, par exemple de pseudo-code:
if mouseover
if hovered for more than 2 seconds
--> show popup/tipbox
else
---> cancel mouseover
else if mouseout
--> reset timer/cancel mouseover
Ce que j'ai fait jusqu'à présent, mais elle ne fonctionne pas efficacement, si j'ai passez la souris et déplacez la souris rapidement, il continue à afficher le popup/tipbox.
$('a[rel=tip]').live('mouseover mouseout', function(e)
{
if(e.type == 'mouseover')
{
var mouseTime = setTimeout(function()
{
$('.tipbox').slideDown('fast');
}, 1000);
}
else if(e.type == 'mouseout')
{
if(mouseTime)
{
cancelTimeout(mouseTime);
mouseTime = null;
$('.tipbox').slideUp('fast');
}
}
});
EDIT: Bounty ajouté.
OriginalL'auteur MacMac | 2011-02-09
Vous devez vous connecter pour publier un commentaire.
Cela semble fonctionner pour moi:
http://jsfiddle.net/eydMC/3/
HTML
JS
CSS
Bounty attribué 🙂
cool!!
souhaitez cud voter plus d'une fois !
OriginalL'auteur nico
Essayez ceci:
Et le code html doit être:
OriginalL'auteur Bora Demircan
Vous pouvez essayer de Ce plugin - il est écrit par l'un des auteurs d'un très bon jQuery livre, donc devrait être bon. Les démos prometteurs.
OriginalL'auteur belugabob