recherche
Maisoninterface Webjs tutorielComment écrire une animation CSS en js ? Comment écrire une animation CSS en js (code)

Le contenu de cet article explique comment écrire une animation CSS en JS ? La méthode (code) d'écriture d'animation CSS en JS a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer, j'espère qu'elle vous sera utile.

Utilisez setTimeout() ou setInterval() pour appeler régulièrement un morceau de code en utilisant ces deux fonctions. C'est le principe.

Le but est de modifier à plusieurs reprises le style en ligne pour obtenir l'effet d'animation

En construisant le contenu d'un cadre en même temps, puis en le laissant changer continuellement le CSS sous l'action de la valeur de la fonction pour obtenir l'effet d'animation

JS écrivant une animation CSS

// 将e转化为相对定位的元素,使得其可以左右移动
// 第一个参数为元素对象或者元素的id
// 如果第二个参数是函数,以e为参数,它将在动画结束时调用
// 第三个参数指定e移动的距离,默认为5像素
// 第四个参数指定移动多久,默认500毫秒
function shake(e, oncomplete, distance, time) {
    // 句柄函数
    if (typeof e === "string") e = document.getElemnentById(e);    // 如果传入的是对象的id则获取对象的id,如果传入的为元素(元素为对象)则直接跳过这一句
    if (!time) time = 500;    // 如果time是空值,则直接使用默认值
    if (!distance) distance = 5;    // 如果未指定移动的距离,则默认为5像素

    var originalStyle = e.style.cssText;    // 获取元素e的css样式
    e.style.position = "relative";    // 设置为相对定位
    var start = (new Date()).getTime();    // 设置动画开始的时间,获取一个格林威治时间
    animate();    // 动画开始

    // 函数检查消耗时间,并更新e的位置
    // 如果动画完成,它将e还原为原始状态
    // 否则,将会更新e的位置,安排其自身重新运行
    function animate() {
        var now = (new Date()).getTime();    // 获取现在的时间
        var elapsed = now-start;    // 从开始以来消耗了多长时间
        var fraction = elapsed / time;    // 为总时间的几分之几

        if (fraction <p>Interroger les styles calculés </p><pre class="brush:php;toolbar:false">getComputedStyle(e)

275 styles . . . O__O "…

Classes CSS scriptables

En plus des scripts de styles en ligne, vous pouvez également scripter des classes CSS

supprimer et ajouter des classes

e.className = "attention";  // 添加类
e.className = "";   // 移除类

Afficher la liste des classes

classList
Propriété en lecture seule, renvoie une collection en temps réel d'attributs de classe d'éléments

e.classList()

Feuille de style scriptée

Activer et désactiver le feuille de style

L'objet CSSStyleSheet des éléments style et link définit un attribut désactivé qui peut être défini et interrogé en js

Concernant l'attribut désactivé, cet attribut ne fait pas partie de la spécification en HTML. n'existe pas en HTML, cependant, l'attribut existe dans le DOM. Cet attribut ne peut pas être défini dans une balise, mais il peut être défini dans un script

Si la valeur est vraie, la feuille de style est fermée, sinon la feuille de style est activée.

e.disabled = true;

La feuille de style peut être fermée de cette manière

De même, vous pouvez également interroger, insérer et supprimer des règles de feuille de style via les méthodes suivantes :

document.styleSheets[0].disabled;

CSSStyleSheet. L'objet définit également une API pour interroger, insérer et supprimer des règles de feuille de style

Interroger tout le contenu de la feuille de style

document.styleSheets[0] Une propriété en lecture seule. qui renvoie un lien vers le document ou la feuille de style intégrée
var firstRule = document.styleSheets[0].cssRules[0];

Ce style est en lecture seule et ne peut pas être inséré ou supprimé

où selectorText est le sélecteur CSS

cssText est le style de texte CSS


Ajouter et supprimer des règles

insertRule() et deleteRule() sont deux méthodes pour ajouter et supprimer des règles

Il existe également une méthode addRule()


insertRule( ) méthode

insertRule() et deleteRule() sont deux méthodes pour ajouter et supprimer des règles

Dans la feuille de style SS, ajoutez une règle CSS dans les 0èmes cssRules pour créer les règles. classe. La police du nom devient bleue
ss.insertRule(".name {color:blue}", 0);
Si l'index ajouté existe déjà, il ne sera pas écrasé. Tous les index sont augmentés de 1, puis insérés


méthode deleteRule()

. Supprimez la règle de style
Supprimez le dernier style inséré


Supprimez la 0ème règle et le style continuera à partir de 0
ss.deleteRule(0);

Créez une nouvelle feuille de style

Ce n'est pas difficile, simple. Insérez un nouvel élément de style et insérez un nouveau contenu CSS via innerHTML, ou insérez directement la balise de lien Pour définir et ajouter un attribut HTML, utilisez la méthode Element.setAttritube(), définissez la valeur rel sur. feuille de style, puis utilisez Ajouter l'attribut src de la même manière

Opérations dom et bom pures, n'impliquant aucun contenu de feuille de style

Recommandations associées :

Laquelle est-ce qu'une animation CSS ou JS ?

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!

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
Javascript et le web: fonctionnalité de base et cas d'utilisationJavascript et le web: fonctionnalité de base et cas d'utilisationApr 18, 2025 am 12:19 AM

Les principales utilisations de JavaScript dans le développement Web incluent l'interaction client, la vérification du formulaire et la communication asynchrone. 1) Mise à jour du contenu dynamique et interaction utilisateur via les opérations DOM; 2) La vérification du client est effectuée avant que l'utilisateur ne soumette les données pour améliorer l'expérience utilisateur; 3) La communication de rafraîchissement avec le serveur est réalisée via la technologie AJAX.

Comprendre le moteur JavaScript: détails de l'implémentationComprendre le moteur JavaScript: détails de l'implémentationApr 17, 2025 am 12:05 AM

Comprendre le fonctionnement du moteur JavaScript en interne est important pour les développeurs car il aide à écrire du code plus efficace et à comprendre les goulots d'étranglement des performances et les stratégies d'optimisation. 1) Le flux de travail du moteur comprend trois étapes: analyse, compilation et exécution; 2) Pendant le processus d'exécution, le moteur effectuera une optimisation dynamique, comme le cache en ligne et les classes cachées; 3) Les meilleures pratiques comprennent l'évitement des variables globales, l'optimisation des boucles, l'utilisation de const et de locations et d'éviter une utilisation excessive des fermetures.

Python vs JavaScript: la courbe d'apprentissage et la facilité d'utilisationPython vs JavaScript: la courbe d'apprentissage et la facilité d'utilisationApr 16, 2025 am 12:12 AM

Python convient plus aux débutants, avec une courbe d'apprentissage en douceur et une syntaxe concise; JavaScript convient au développement frontal, avec une courbe d'apprentissage abrupte et une syntaxe flexible. 1. La syntaxe Python est intuitive et adaptée à la science des données et au développement back-end. 2. JavaScript est flexible et largement utilisé dans la programmation frontale et côté serveur.

Python vs JavaScript: communauté, bibliothèques et ressourcesPython vs JavaScript: communauté, bibliothèques et ressourcesApr 15, 2025 am 12:16 AM

Python et JavaScript ont leurs propres avantages et inconvénients en termes de communauté, de bibliothèques et de ressources. 1) La communauté Python est amicale et adaptée aux débutants, mais les ressources de développement frontal ne sont pas aussi riches que JavaScript. 2) Python est puissant dans les bibliothèques de science des données et d'apprentissage automatique, tandis que JavaScript est meilleur dans les bibliothèques et les cadres de développement frontaux. 3) Les deux ont des ressources d'apprentissage riches, mais Python convient pour commencer par des documents officiels, tandis que JavaScript est meilleur avec MDNWEBDOCS. Le choix doit être basé sur les besoins du projet et les intérêts personnels.

De C / C à JavaScript: comment tout cela fonctionneDe C / C à JavaScript: comment tout cela fonctionneApr 14, 2025 am 12:05 AM

Le passage de C / C à JavaScript nécessite de s'adapter à la frappe dynamique, à la collecte des ordures et à la programmation asynchrone. 1) C / C est un langage dactylographié statiquement qui nécessite une gestion manuelle de la mémoire, tandis que JavaScript est dynamiquement typé et que la collecte des déchets est automatiquement traitée. 2) C / C doit être compilé en code machine, tandis que JavaScript est une langue interprétée. 3) JavaScript introduit des concepts tels que les fermetures, les chaînes de prototypes et la promesse, ce qui améliore la flexibilité et les capacités de programmation asynchrones.

Moteurs JavaScript: comparaison des implémentationsMoteurs JavaScript: comparaison des implémentationsApr 13, 2025 am 12:05 AM

Différents moteurs JavaScript ont des effets différents lors de l'analyse et de l'exécution du code JavaScript, car les principes d'implémentation et les stratégies d'optimisation de chaque moteur diffèrent. 1. Analyse lexicale: convertir le code source en unité lexicale. 2. Analyse de la grammaire: générer un arbre de syntaxe abstrait. 3. Optimisation et compilation: générer du code machine via le compilateur JIT. 4. Exécuter: Exécutez le code machine. Le moteur V8 optimise grâce à une compilation instantanée et à une classe cachée, SpiderMonkey utilise un système d'inférence de type, résultant en différentes performances de performances sur le même code.

Au-delà du navigateur: Javascript dans le monde réelAu-delà du navigateur: Javascript dans le monde réelApr 12, 2025 am 12:06 AM

Les applications de JavaScript dans le monde réel incluent la programmation côté serveur, le développement des applications mobiles et le contrôle de l'Internet des objets: 1. La programmation côté serveur est réalisée via Node.js, adaptée au traitement de demande élevé simultané. 2. Le développement d'applications mobiles est effectué par le reactnatif et prend en charge le déploiement multiplateforme. 3. Utilisé pour le contrôle des périphériques IoT via la bibliothèque Johnny-Five, adapté à l'interaction matérielle.

Construire une application SaaS multi-locataire avec next.js (intégration backend)Construire une application SaaS multi-locataire avec next.js (intégration backend)Apr 11, 2025 am 08:23 AM

J'ai construit une application SAAS multi-locataire fonctionnelle (une application EdTech) avec votre outil technologique quotidien et vous pouvez faire de même. Premièrement, qu'est-ce qu'une application SaaS multi-locataire? Les applications saas multi-locataires vous permettent de servir plusieurs clients à partir d'un chant

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel