Maison  >  Article  >  interface Web  >  jQuery implémente l'effet de traitement retardé du passage de la souris à event_jquery

jQuery implémente l'effet de traitement retardé du passage de la souris à event_jquery

WBOY
WBOYoriginal
2016-05-16 15:35:141561parcourir

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.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn