


Utilisez jQuery pour surveiller les changements de taille des éléments DOM
Cause
Quand j'écrivais une page aujourd'hui, j'ai soudainement eu un tel besoin puisque la hauteur de l'élément parent (un DIV) est une valeur fixe calculée par javascript, un plug-in multi-talk. in y a été ajouté. Après les commentaires de l'utilisateur, l'attribut height de l'élément enfant (DIV) est augmenté, provoquant un débordement de l'élément enfant. Mais je ne savais pas comment ajouter une fonction de rappel pour le bouton de commentaire de Duosuo, j'ai donc pensé à recalculer la hauteur de l'élément parent en fonction du changement de taille de l'élément enfant.
onresize?
Habituellement, une fonction de rappel qui modifie la mise en page est déclenchée lorsque toute la fenêtre du navigateur change. L'événement resize de l'objet fenêtre est utilisé et est lié à l'aide de :
window.onresize = callback;
. Mais selon la cible de l'événement de redimensionnement est defaultView (window), veuillez consulter le document de redimensionnement de MDN pour plus de détails. C'est-à-dire que seul l'objet window a un événement de redimensionnement, j'ai donc pensé à utiliser le propre mécanisme d'événement de jquery pour simuler un redimensionnement. événement sur un élément ordinaire
L'idée d'implémentation de l'utilisation d'événements jQuery
Vous pouvez penser à une manière relativement simple :
1. redimensionnez l'objet, enregistrez la largeur et la hauteur de l'élément
2. Utilisez requestAnimationFrame, setTimeout et setInterval pour interroger sa largeur et sa hauteur à intervalles réguliers. Si elles sont différentes de la largeur et de la hauteur enregistrées, exécutez la fonction de rappel et mettez à jour. la largeur enregistrée en hauteur
plug-in jQuery
Ben Alman a écrit un plug-in jQuery pour cette fonction, qui est le code (partie centrale) du portail
Veuillez vérifier. le contenu du blog de Ben Alman pour le code détaillé :
(function($, window, undefined) { var elems = $([]), jq_resize = $.resize = $.extend($.resize, {}), timeout_id, str_setTimeout = 'setTimeout', str_resize = 'resize', str_data = str_resize + '-special-event', str_delay = 'delay', str_throttle = 'throttleWindow'; jq_resize[str_delay] = 250; jq_resize[str_throttle] = true; $.event.special[str_resize] = { setup: function() { if (!jq_resize[str_throttle] && this[str_setTimeout]) { return false; } var elem = $(this); elems = elems.add(elem); $.data(this, str_data, { w: elem.width(), h: elem.height() }); if (elems.length === 1) { loopy(); } }, teardown: function() { if (!jq_resize[str_throttle] && this[str_setTimeout]) { return false; } var elem = $(this); elems = elems.not(elem); elem.removeData(str_data); if (!elems.length) { clearTimeout(timeout_id); } }, add: function(handleObj) { if (!jq_resize[str_throttle] && this[str_setTimeout]) { return false; } var old_handler; function new_handler(e, w, h) { var elem = $(this), data = $.data(this, str_data); data.w = w !== undefined ? w : elem.width(); data.h = h !== undefined ? h : elem.height(); old_handler.apply(this, arguments); } if ($.isFunction(handleObj)) { old_handler = handleObj; return new_handler; } else { old_handler = handleObj.handler; handleObj.handler = new_handler; } } }; function loopy() { timeout_id = window[str_setTimeout](function() { elems.each(function() { var elem = $(this), width = elem.width(), height = elem.height(), data = $.data(this, str_data); if (width !== data.w || height !== data.h) { elem.trigger(str_resize, [data.w = width, data.h = height]); } }); loopy(); }, jq_resize[str_delay]); } })(jQuery, this);
jQuery fournit aux développeurs de plug-ins jQuery une interface pour ajouter des événements personnalisés. Pour plus de détails, veuillez vous référer à la documentation officielle de jQuery. Voici la manière typique. pour ajouter des événements personnalisés jQuery, qui ont trois hooks :
1. setup : le hook de configuration est appelé la première fois qu'un événement d'un type particulier est attaché à un élément. Exécuté lors de la première liaison. Si false est renvoyé, la valeur par défaut. La méthode est utilisée pour lier l'événement
2. teardown : Le hook de démontage est appelé lorsque l'événement final d'un type particulier est supprimé d'un élément. Si cette méthode est spécifiée, elle sera exécutée avant de supprimer l'événement . gestionnaire (removeEventListener). Si false est renvoyé, l'événement lié par défaut
sera supprimé. 3. ajouter : chaque fois qu'un gestionnaire d'événements est ajouté à un élément via une API telle que .on(), jQuery. appelle ce hook. Chaque fois qu'un événement est lié à un élément, les trois hooks
setup, teardown et add seront exécutés, la première chose que chaque hook fait est de détecter si l'objet est un objet window, puis gérez-le spécialement en fonction de l'objet window, car l'objet window lui-même a un événement de redimensionnement
Comme vous pouvez le voir sur le hook de configuration, l'ensemble de l'événement est initialisé Lors du traitement, créez une file d'attente d'éléments pour chaque élément. dans la file d'attente, met la largeur et la hauteur dans les données, puis démarre la fonction loopy toutes les 250 ms. Dans la fonction loopy, il est jugé s'il y a un changement. S'il y a un changement, la fonction de rappel est déclenchée et les données sont. mis à jour. La largeur et la hauteur dans
sont visibles à partir du crochet de démontage. Lorsque l'élément supprime l'événement , il lui suffit de supprimer l'élément de la file d'attente des éléments et d'effacer les données. l'élément. S'il s'agit du dernier élément de la file d'attente des éléments, l'exécution ne continuera plus. Dans le hook d'ajout, la fonction de rappel est enveloppée
À partir de là, vous pouvez voir un simple mécanisme d'implémentation jQuery
personnalisé. fonctionCe 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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

CrystalDiskMark est un petit outil de référence pour disques durs qui mesure rapidement les vitesses de lecture/écriture séquentielles et aléatoires. Ensuite, laissez l'éditeur vous présenter CrystalDiskMark et comment utiliser crystaldiskmark~ 1. Introduction à CrystalDiskMark CrystalDiskMark est un outil de test de performances de disque largement utilisé pour évaluer la vitesse et les performances de lecture et d'écriture des disques durs mécaniques et des disques SSD (SSD). ). Performances d’E/S aléatoires. Il s'agit d'une application Windows gratuite qui fournit une interface conviviale et divers modes de test pour évaluer différents aspects des performances du disque dur. Elle est largement utilisée dans les revues de matériel.

foobar2000 est un logiciel qui peut écouter des ressources musicales à tout moment. Il vous offre toutes sortes de musique avec une qualité sonore sans perte. La version améliorée du lecteur de musique vous permet d'obtenir une expérience musicale plus complète et plus confortable. lire l'audio avancé sur l'ordinateur. L'appareil est transplanté sur le téléphone mobile pour offrir une expérience de lecture de musique plus pratique et efficace. La conception de l'interface est simple, claire et facile à utiliser. opérations pour démarrer rapidement. Il prend également en charge une variété de skins et de thèmes, personnalisez les paramètres en fonction de vos propres préférences et créez un lecteur de musique exclusif prenant en charge la lecture de plusieurs formats audio. Il prend également en charge la fonction de gain audio pour régler le volume. selon vos propres conditions auditives pour éviter les dommages auditifs causés par un volume excessif. Ensuite, laisse-moi t'aider

NetEase Mailbox, en tant qu'adresse e-mail largement utilisée par les internautes chinois, a toujours gagné la confiance des utilisateurs grâce à ses services stables et efficaces. NetEase Mailbox Master est un logiciel de messagerie spécialement créé pour les utilisateurs de téléphones mobiles. Il simplifie grandement le processus d'envoi et de réception d'e-mails et rend le traitement de nos e-mails plus pratique. Alors comment utiliser NetEase Mailbox Master, et quelles sont ses fonctions spécifiques Ci-dessous, l'éditeur de ce site vous donnera une introduction détaillée, en espérant vous aider ! Tout d’abord, vous pouvez rechercher et télécharger l’application NetEase Mailbox Master dans la boutique d’applications mobiles. Recherchez « NetEase Mailbox Master » dans l'App Store ou Baidu Mobile Assistant, puis suivez les instructions pour l'installer. Une fois le téléchargement et l'installation terminés, nous ouvrons le compte de messagerie NetEase et nous connectons. L'interface de connexion est la suivante

Le stockage cloud est devenu aujourd’hui un élément indispensable de notre vie quotidienne et de notre travail. En tant que l'un des principaux services de stockage cloud en Chine, Baidu Netdisk a gagné la faveur d'un grand nombre d'utilisateurs grâce à ses puissantes fonctions de stockage, sa vitesse de transmission efficace et son expérience de fonctionnement pratique. Et que vous souhaitiez sauvegarder des fichiers importants, partager des informations, regarder des vidéos en ligne ou écouter de la musique, Baidu Cloud Disk peut répondre à vos besoins. Cependant, de nombreux utilisateurs peuvent ne pas comprendre l'utilisation spécifique de l'application Baidu Netdisk, ce didacticiel vous présentera donc en détail comment utiliser l'application Baidu Netdisk. Si vous êtes toujours confus, veuillez suivre cet article pour en savoir plus ! Comment utiliser Baidu Cloud Network Disk : 1. Installation Tout d'abord, lors du téléchargement et de l'installation du logiciel Baidu Cloud, veuillez sélectionner l'option d'installation personnalisée.

MetaMask (également appelé Little Fox Wallet en chinois) est un logiciel de portefeuille de cryptage gratuit et bien accueilli. Actuellement, BTCC prend en charge la liaison au portefeuille MetaMask. Après la liaison, vous pouvez utiliser le portefeuille MetaMask pour vous connecter rapidement, stocker de la valeur, acheter des pièces, etc., et vous pouvez également obtenir un bonus d'essai de 20 USDT pour la première liaison. Dans le didacticiel du portefeuille BTCCMetaMask, nous présenterons en détail comment enregistrer et utiliser MetaMask, ainsi que comment lier et utiliser le portefeuille Little Fox dans BTCC. Qu'est-ce que le portefeuille MetaMask ? Avec plus de 30 millions d’utilisateurs, MetaMask Little Fox Wallet est aujourd’hui l’un des portefeuilles de crypto-monnaie les plus populaires. Son utilisation est gratuite et peut être installée sur le réseau en tant qu'extension

Apple a déployé mardi la mise à jour iOS 17.4, apportant une multitude de nouvelles fonctionnalités et de correctifs aux iPhones. La mise à jour inclut de nouveaux emojis et les utilisateurs de l’UE pourront également les télécharger depuis d’autres magasins d’applications. En outre, la mise à jour renforce également le contrôle de la sécurité de l'iPhone et introduit davantage d'options de configuration de « Protection des appareils volés » pour offrir aux utilisateurs plus de choix et de protection. "iOS 17.3 introduit pour la première fois la fonction "Protection des appareils volés", ajoutant une sécurité supplémentaire aux informations sensibles des utilisateurs. Lorsque l'utilisateur est loin de chez lui et d'autres lieux familiers, cette fonction nécessite que l'utilisateur saisisse des informations biométriques pour la première fois. heure, et après une heure, vous devez saisir à nouveau les informations pour accéder et modifier certaines données, telles que la modification du mot de passe de votre identifiant Apple ou la désactivation de la protection de l'appareil volé.
![Comment augmenter la taille du disque dans VirtualBox [Guide]](https://img.php.cn/upload/article/000/887/227/171064142025068.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Nous rencontrons souvent des situations où la taille de disque prédéfinie n'a pas de place pour plus de données ? Si vous avez besoin de plus d'espace disque sur la machine virtuelle ultérieurement, vous devez étendre le disque dur virtuel et les partitions. Dans cet article, nous verrons comment augmenter la taille du disque dans VirtualBox. Augmenter la taille du disque dans VirtualBox Il est important de noter que vous souhaiterez peut-être sauvegarder les fichiers de votre disque dur virtuel avant d'effectuer ces opérations, car il y a toujours la possibilité que quelque chose se passe mal. C'est toujours une bonne pratique d'avoir des sauvegardes. Cependant, le processus fonctionne généralement correctement, assurez-vous simplement d'éteindre votre ordinateur avant de continuer. Il existe deux façons d'augmenter la taille du disque dans VirtualBox. Augmentez la taille du disque VirtualBox à l'aide de l'interface graphique à l'aide de CL

Le logiciel de voiture Xiaomi fournit des fonctions de contrôle de voiture à distance, permettant aux utilisateurs de contrôler le véhicule à distance via des téléphones mobiles ou des ordinateurs, comme l'ouverture et la fermeture des portes et fenêtres du véhicule, le démarrage du moteur, le contrôle de la climatisation et du système audio du véhicule, etc. l'utilisation et le contenu de ce logiciel, découvrons-le ensemble. Liste complète des fonctions et méthodes d'utilisation de l'application Xiaomi Auto 1. L'application Xiaomi Auto a été lancée sur l'AppStore d'Apple le 25 mars et peut désormais être téléchargée depuis l'App Store sur les téléphones Android. Achat de voiture : découvrez les principaux points forts et les paramètres techniques ; de Xiaomi Auto, et prenez rendez-vous pour un essai routier, configurez et commandez votre voiture Xiaomi, et prenez en charge le traitement en ligne des tâches de récupération de voiture. 3. Communauté : comprenez les informations de la marque Xiaomi Auto, échangez votre expérience automobile et partagez une vie de voiture merveilleuse. 4. Contrôle de la voiture : le téléphone mobile est la télécommande, la télécommande, la sécurité en temps réel, facile ;
