Maison > interface Web > js tutoriel > Comment détecter les changements de visibilité des éléments dans jQuery ?

Comment détecter les changements de visibilité des éléments dans jQuery ?

Susan Sarandon
Libérer: 2024-10-30 00:25:02
original
397 Les gens l'ont consulté

How do you detect visibility changes for elements in jQuery?

Détection des changements de visibilité avec jQuery

Lorsque vous travaillez avec du contenu dynamique, il devient nécessaire d'effectuer des actions basées sur la visibilité d'éléments spécifiques. jQuery fournit un moyen d'attacher des gestionnaires d'événements qui se déclenchent lorsqu'un div devient visible.

Solution :

Pour y parvenir, vous pouvez étendre le jQuery .show() existant. méthode et déclencher des événements avant et après le changement de visibilité. Voici un extrait de code d'extension personnalisé :

jQuery(function($) {

  var _oldShow = $.fn.show;

  $.fn.show = function(speed, oldCallback) {
    return $(this).each(function() {
      var obj         = $(this),
          newCallback = function() {
            if ($.isFunction(oldCallback)) {
              oldCallback.apply(obj);
            }
            obj.trigger('afterShow');
          };

      // Trigger beforeShow event
      obj.trigger('beforeShow');

      // Call the original show method with the new callback
      _oldShow.apply(obj, [speed, newCallback]);
    });
  }
});
Copier après la connexion

Utilisation :

Pour utiliser la méthode .show() étendue, vous pouvez lier des événements aux déclencheurs beforeShow et afterShow . Par exemple :

jQuery(function($) {
  $('#test')
    .bind('beforeShow', function() {
      alert('beforeShow');
    }) 
    .bind('afterShow', function() {
      alert('afterShow');
    })
    .show(1000, function() {
      alert('in show callback');
    })
    .show();
});
Copier après la connexion

Ce code déclenchera les événements beforeShow et afterShow lorsque le div avec le test d'ID est affiché et masqué, vous permettant d'exécuter du code personnalisé en fonction du changement de visibilité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal