Maison > Article > interface Web > jQuery implémente l'effet de traitement retardé du passage de la souris à event_jquery
Traitement du délai d'événement au survol (survol) de la souris JQuery, le code JS spécifique est le suivant :
(function($){ $.fn.hoverDelay = function(options){ var defaults = { hoverDuring: 200, outDuring: 200, hoverEvent: function(){ $.noop(); }, outEvent: function(){ $.noop(); } }; var sets = $.extend(defaults,options || {}); var hoverTimer, outTimer; return $(this).each(function(){ $(this).hover(function(){ clearTimeout(outTimer); hoverTimer = setTimeout(sets.hoverEvent, sets.hoverDuring); },function(){ clearTimeout(hoverTimer); outTimer = setTimeout(sets.outEvent, sets.outDuring); }); }); } })(jQuery);
La méthode hoverDelay a quatre paramètres, ce qui signifie ce qui suit :
hoverDuring Délai de passage de la souris
outDuring Délai de sortie de la souris
hoverEvent Méthode exécutée après le passage de la souris
outEvent Méthode exécutée lorsque la souris est déplacée vers l'extérieur
Le but de cette fonction est de séparer l'événement de passage de la souris et le délai et l'effacement du délai ont été résolus par cette méthode. Tout ce que vous avez à faire est de définir le délai et le passage de souris ou l'événement de suppression correspondant. Prenons un exemple simple de , comme suit :
$("#test").hoverDelay({ hoverDuring: 1000, outDuring: 1000, hoverEvent: function(){ $("#tm").show(); }, outEvent: function(){ $("#tm").hide(); } });
Ce qui suit est un cas plus concis :
$("#test").hoverDelay({ hoverEvent: function(){ alert("经过 我!"); } });
signifie que l'élément avec l'identifiant test fera apparaître une boîte de dialogue contenant le texte "Passe-moi !" 200 millisecondes après le passage de la souris dessus.
Ce qui précède concerne le traitement retardé de l'événement de survol (survol) de la souris jQuery. J'espère que cela sera utile à l'apprentissage de tout le monde.