Voir les transitions API: technologies innovantes pour simplifier l'animation Web
Afficher les transitions L'API fournit un moyen plus facile de réaliser l'animation entre les éléments de la page Web, permettant des transitions en douceur même entre les charges de page. Il s'agit d'une technologie d'amélioration progressive avec une bonne compatibilité.
La transition et l'animation CSS traditionnelles ont réalisé des réalisations remarquables dans les effets Web, mais toutes les animations ne sont pas faciles à mettre en ?uvre. Par exemple, l'animation croisée d'une liste de dix images et titres nécessite les étapes suivantes:
- Gardez l'ancien élément DOM;
- Créez un nouvel élément DOM et ajoutez-le à l'emplacement approprié de la page; Traite les anciens éléments tout en s'évanouissant dans de nouveaux éléments;
- (Facultatif) Remplacez l'ancien élément par le nouvel élément DOM.
- L'API de transitions de vue simplifie ce processus:
API capture des instantanés de l'état actuel de la page;
- Mettez à jour les éléments DOM, ajouter ou supprimer les éléments nécessaires;
- API capture des instantanés du nouveau statut de page; L'API utilise l'effet de fondu par défaut ou l'animation CSS personnalisée pour animer les transitions entre deux états.
- Nous avons juste besoin de mettre à jour le DOM sans les étapes supplémentaires compliquées. Avec seulement quelques lignes de code, vous pouvez réaliser des animations de type diapositives dans des navigateurs qui prennent en charge l'API de transitions de vue.
Actuellement, l'API est à l'étape expérimentale, mais le dernier navigateur basé sur le chrome prend déjà en charge les effets d'animation DOM d'une seule page. Chrome 115 et plus tard prend également en charge les animations entre les charges de page, comme sur les sites WordPress typiques. Cela facilite l'utilisation sans code JavaScript.
Il convient de noter que Mozilla et Apple n'ont pas annoncé leurs plans pour mettre en ?uvre l'API dans Firefox et Safari. Les navigateurs qui ne prennent pas en charge l'API de transitions de vue fonctionnent toujours correctement, il est donc s?r d'ajouter cet effet maintenant.
Comparaison entre les technologies nouvelles et anciennes
Les développeurs seniors peuvent se sentir familiers. Internet Explorer 4.0, publié en 1997, a introduit des capacités de transition élément et pleine page et a été mis à jour dans IE5.5, publié en 2000. Nous pouvons utiliser la balise
pour ajouter divers effets de transition dans le style PowerPoint:
Cependant, cette technologie n'a pas été largement adoptée car ce n'est pas une norme Web.
<meta>
<meta content="progid:DXImageTransform.Microsoft.Iris(Motion='in', IrisStyle='circle')" http-equiv="Page-Enter"> <meta content="progid:DXImageTransform.Microsoft.Iris(Motion='out', IrisStyle='circle')" http-equiv="Page-Exit">
L'exemple suivant montre comment créer un effet de fondu simple en utilisant l'API de transitions de vue dans Chrome:
(La liaison et la capture d'écran de Codepen Exemple 1 doivent être intégrées ici)
Le code HTML contient deux éléments, qui sont utilisés pour afficher différents blocs de contenu:
(Les extraits de code HTML doivent être intégrés ici)
La fonction switchArticle()
gère toutes les mises à jour DOM, affichant ou cachant chaque élément hidden
> en ajoutant ou en supprimant l'attribut <article></article>
. Lorsque la page se charge, déterminez l'élément actif location.hash
en fonction de l'élément <article></article>
ou du premier <article></article>
de l'URL de la page:
(Les extraits de code JavaScript doivent être intégrés ici)
La fonction du gestionnaire d'événements surveille tous les clics et appels de la page #hash
lorsque l'utilisateur clique sur un lien avec switchArticle()
:
(Les extraits de code JavaScript doivent être intégrés ici)
En passant la fonction switchArticle()
comme un rappel à document.startViewTransition()
, nous pouvons utiliser l'API View Transitions:
(Les extraits de code JavaScript doivent être intégrés ici)
document.startViewTransition()
Capturera un instantané de l'état initial, exécutera switchArticle()
, capturera un instantané du nouvel état et créera un effet de fondu d'une demi-seconde par défaut entre les deux.
Les sélecteurs CSS ::view-transition-old(root)
et ::view-transition-new(root)
peuvent être utilisés pour définir respectivement les anciens et nouveaux états:
(Les extraits de code CSS doivent être intégrés ici)
(Contenu de l'étude, y compris des animations plus complexes, des mises à jour ASynchrones DOM, l'utilisation de l'API des animations Web, les transitions de navigation multipage, les désactifs d'animation, le résumé et les FAQ, tous doivent être réécrits d'une manière similaire et le code dans le Le texte d'origine intégré l'image dans la position correspondante et la décrive dans un langage plus concis et clair.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

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)

Il existe trois fa?ons courantes d'initier des demandes HTTP dans Node.js: utilisez des modules intégrés, Axios et Node-Fetch. 1. Utilisez le module HTTP / HTTPS intégré sans dépendances, ce qui convient aux scénarios de base, mais nécessite un traitement manuel de la couture des données et de la surveillance des erreurs, tels que l'utilisation de https.get () pour obtenir des données ou envoyer des demandes de post via .write (); 2.AXIOS est une bibliothèque tierce basée sur la promesse. Il a une syntaxe concise et des fonctions puissantes, prend en charge l'async / attendre, la conversion JSON automatique, l'intercepteur, etc. Il est recommandé de simplifier les opérations de demande asynchrones; 3.Node-Fetch fournit un style similaire à la récupération du navigateur, basé sur la promesse et la syntaxe simple

Les types de données JavaScript sont divisés en types primitifs et types de référence. Les types primitifs incluent la cha?ne, le nombre, le booléen, le nul, un non défini et le symbole. Les valeurs sont immuables et les copies sont copiées lors de l'attribution des valeurs, de sorte qu'elles ne se affectent pas; Les types de référence tels que les objets, les tableaux et les fonctions stockent les adresses de mémoire, et les variables pointant vers le même objet s'afferchent mutuellement. Le typeof et l'instance de OFF peuvent être utilisés pour déterminer les types, mais prêtent attention aux problèmes historiques de typeofnull. Comprendre ces deux types de différences peut aider à écrire un code plus stable et fiable.

Quel framework JavaScript est le meilleur choix? La réponse est de choisir la plus appropriée selon vos besoins. 1.RIATT est flexible et gratuit, adapté aux projets moyens et grands qui nécessitent une personnalisation élevée et des capacités d'architecture d'équipe; 2. Angular fournit des solutions complètes, adaptées aux applications au niveau de l'entreprise et à la maintenance à long terme; 3. Vue est facile à utiliser, adaptée à des projets de petite et moyenne taille ou à un développement rapide. De plus, s'il existe une pile technologique existante, la taille de l'équipe, le cycle de vie du projet et si le RSS est nécessaire sont également des facteurs importants dans le choix d'un cadre. En bref, il n'y a pas absolument le meilleur cadre, le meilleur choix est celui qui convient à vos besoins.

Bonjour, développeurs JavaScript! Bienvenue dans JavaScript News de cette semaine! Cette semaine, nous nous concentrerons sur: le différend de marque d'Oracle avec Deno, les nouveaux objets Time JavaScript sont pris en charge par les navigateurs, les mises à jour Google Chrome et certains outils de développeurs puissants. Commen?ons! Le différend de marque d'Oracle avec la tentative de Deno Oracle d'enregistrer une marque "JavaScript" a provoqué la controverse. Ryan Dahl, le créateur de Node.js et Deno, a déposé une pétition pour annuler la marque, et il pense que JavaScript est un niveau ouvert et ne devrait pas être utilisé par Oracle

La promesse est le mécanisme central pour gérer les opérations asynchrones en JavaScript. Comprendre les appels de cha?ne, la gestion des erreurs et les combinants est la clé pour ma?triser leurs applications. 1. L'appel de la cha?ne renvoie une nouvelle promesse à travers. Puis () pour réaliser la concaténation des processus asynchrones. Chaque .then () re?oit le résultat précédent et peut renvoyer une valeur ou une promesse; 2. La gestion des erreurs doit utiliser .catch () pour attraper des exceptions pour éviter les défaillances silencieuses, et peut renvoyer la valeur par défaut dans Catch pour continuer le processus; 3. Combinateurs tels que promesse.all () (réussi avec succès uniquement après tout succès), promesse.race () (le premier achèvement est retourné) et promesse.allsetTled () (en attente de toutes les achèvements)

Cacheapi est un outil fourni par le navigateur pour mettre en cache les demandes de réseau, qui est souvent utilisée en conjonction avec travailleur de service pour améliorer les performances du site Web et l'expérience hors ligne. 1. Il permet aux développeurs de stocker manuellement des ressources telles que des scripts, des feuilles de style, des photos, etc.; 2. Il peut faire correspondre les réponses du cache en fonction des demandes; 3. Il prend en charge la suppression des caches spécifiques ou la nettoyage du cache entier; 4. Il peut mettre en ?uvre des stratégies de priorité de cache ou de priorité de réseau grace à l'écoute des événements Fetch; 5. Il est souvent utilisé pour le support hors ligne, accélérez la vitesse d'accès répétée, préchargement des ressources clés et du contenu de mise à jour des antécédents; 6. Lorsque vous l'utilisez, vous devez faire attention au contr?le de la version du cache, aux restrictions de stockage et à la différence entre le mécanisme de mise en cache HTTP.

Des méthodes intégrées de la matrice JavaScript telles que .map (), .filter () et .reduce () peuvent simplifier le traitement des données; 1) .map () est utilisé pour convertir les éléments un en un pour générer de nouveaux tableaux; 2) .filter () est utilisé pour filtrer les éléments par condition; 3) .reduce () est utilisé pour agréger les données en tant que valeur unique; Une mauvaise utilisation doit être évitée lorsqu'elle est utilisée, entra?nant des effets secondaires ou des problèmes de performance.

La boucle d'événement de JavaScript gère les opérations asynchrones en coordonnant les piles d'appels, les webapis et les files d'attente de taches. 1. La pile d'appels exécute du code synchrone, et lors de la rencontre de taches asynchrones, il est remis à WebAPI pour le traitement; 2. Une fois que le WebAPI a terminé la tache en arrière-plan, il met le rappel dans la file d'attente correspondante (macro tache ou micro tache); 3. La boucle d'événement vérifie si la pile d'appels est vide. S'il est vide, le rappel est retiré de la file d'attente et poussé dans la pile d'appels pour l'exécution; 4. Micro taches (comme Promise. puis) ??prendre la priorité sur les taches macro (telles que Settimeout); 5. Comprendre la boucle d'événements permet d'éviter de bloquer le thread principal et d'optimiser l'ordre d'exécution du code.
