search
HomeWeb Front-endJS TutorialHow to write css animation in js? How to write css animation in js (code)

The content of this article is about how to write CSS animation in JS? The method (code) of writing CSS animation in JS has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

Use setTimeout() or setInterval() to call a piece of code regularly using these two functions. This is the principle.

Purpose, repeatedly modify the inline style to achieve the effect of animation

By constructing the content of a frame in the same time, and then letting it continuously change the css under the action of the function value to achieve the effect of animation

JS writing css animation

// 将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>Query the calculated style</p><pre class="brush:php;toolbar:false">getComputedStyle(e)

275 styles. . . O__O "…

Scriptable css classes

In addition to scripting inline styles, you can also script css classes

Remove and add classes

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

Display class list

classList
Read-only attribute, returns a real-time collection of element class attributes.

e.classList()

Scripted style sheet

Turn on and off styles Table

The CSSStyleSheet object of the style and link elements defines a disabled attribute that can be set and queried in js.

Regarding the disabled attribute, this attribute is not part of the specification in HTML and is not part of the specification in HTML. Exists, however, the attribute exists in the DOM. This attribute cannot be set in a tag, but it can be set in a script

If the value is true, the style sheet is closed, otherwise the style sheet is opened

e.disabled = true;

In this way, the style sheet can be closed.

Similarly, it can also be queried through the following methods

document.styleSheets[0].disabled;

Insert and delete style sheet rules

The CSSStyleSheet object is also defined for querying , api for inserting and deleting style sheet rules

Query all style sheet contents

var firstRule = document.styleSheets[0].cssRules[0];

document.styleSheets[0] A read-only property that returns a link to the document or an embedded style sheet

This style is read-only and cannot be inserted or deleted

selectorText is the css selector
cssText is the css text style

Add and delete rules

insertRule() and deleteRule() are two methods to add and delete rules
There is also an addRule() method

insertRule() method

insertRule() and deleteRule () These two methods are used to add and delete rules

ss.insertRule(".name {color:blue}", 0);

In the ss style sheet, add a css rule in the 0th cssRules. Make the font of the class name blue
If added If the index already exists, it will not be overwritten. All indexes will be incremented by 1, and then inserted

deleteRule() method

Delete style rule
Delete the last inserted style

ss.deleteRule(0);

Delete the 0th rule, and the style will continue to start from 0

Create a new style sheet

This is not difficult, directly insert a new style element and insert it into the new style through innerHTML css content, or directly insert the link tag, set and add an html attribute using the Element.setAttritube() method, set the rel value to the stylesheet, and then add the src attribute in the same way

Pure The operation of dom and bom does not involve any style sheet content

Related recommendations:

Which is faster, CSS or JS animation_html/css_WEB-ITnose

After the css animation ends, js cannot modify the translated value._html/css_WEB-ITnose

The above is the detailed content of How to write css animation in js? How to write css animation in js (code). For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
JavaScript in Action: Real-World Examples and ProjectsJavaScript in Action: Real-World Examples and ProjectsApr 19, 2025 am 12:13 AM

JavaScript's application in the real world includes front-end and back-end development. 1) Display front-end applications by building a TODO list application, involving DOM operations and event processing. 2) Build RESTfulAPI through Node.js and Express to demonstrate back-end applications.

JavaScript and the Web: Core Functionality and Use CasesJavaScript and the Web: Core Functionality and Use CasesApr 18, 2025 am 12:19 AM

The main uses of JavaScript in web development include client interaction, form verification and asynchronous communication. 1) Dynamic content update and user interaction through DOM operations; 2) Client verification is carried out before the user submits data to improve the user experience; 3) Refreshless communication with the server is achieved through AJAX technology.

Understanding the JavaScript Engine: Implementation DetailsUnderstanding the JavaScript Engine: Implementation DetailsApr 17, 2025 am 12:05 AM

Understanding how JavaScript engine works internally is important to developers because it helps write more efficient code and understand performance bottlenecks and optimization strategies. 1) The engine's workflow includes three stages: parsing, compiling and execution; 2) During the execution process, the engine will perform dynamic optimization, such as inline cache and hidden classes; 3) Best practices include avoiding global variables, optimizing loops, using const and lets, and avoiding excessive use of closures.

Python vs. JavaScript: The Learning Curve and Ease of UsePython vs. JavaScript: The Learning Curve and Ease of UseApr 16, 2025 am 12:12 AM

Python is more suitable for beginners, with a smooth learning curve and concise syntax; JavaScript is suitable for front-end development, with a steep learning curve and flexible syntax. 1. Python syntax is intuitive and suitable for data science and back-end development. 2. JavaScript is flexible and widely used in front-end and server-side programming.

Python vs. JavaScript: Community, Libraries, and ResourcesPython vs. JavaScript: Community, Libraries, and ResourcesApr 15, 2025 am 12:16 AM

Python and JavaScript have their own advantages and disadvantages in terms of community, libraries and resources. 1) The Python community is friendly and suitable for beginners, but the front-end development resources are not as rich as JavaScript. 2) Python is powerful in data science and machine learning libraries, while JavaScript is better in front-end development libraries and frameworks. 3) Both have rich learning resources, but Python is suitable for starting with official documents, while JavaScript is better with MDNWebDocs. The choice should be based on project needs and personal interests.

From C/C   to JavaScript: How It All WorksFrom C/C to JavaScript: How It All WorksApr 14, 2025 am 12:05 AM

The shift from C/C to JavaScript requires adapting to dynamic typing, garbage collection and asynchronous programming. 1) C/C is a statically typed language that requires manual memory management, while JavaScript is dynamically typed and garbage collection is automatically processed. 2) C/C needs to be compiled into machine code, while JavaScript is an interpreted language. 3) JavaScript introduces concepts such as closures, prototype chains and Promise, which enhances flexibility and asynchronous programming capabilities.

JavaScript Engines: Comparing ImplementationsJavaScript Engines: Comparing ImplementationsApr 13, 2025 am 12:05 AM

Different JavaScript engines have different effects when parsing and executing JavaScript code, because the implementation principles and optimization strategies of each engine differ. 1. Lexical analysis: convert source code into lexical unit. 2. Grammar analysis: Generate an abstract syntax tree. 3. Optimization and compilation: Generate machine code through the JIT compiler. 4. Execute: Run the machine code. V8 engine optimizes through instant compilation and hidden class, SpiderMonkey uses a type inference system, resulting in different performance performance on the same code.

Beyond the Browser: JavaScript in the Real WorldBeyond the Browser: JavaScript in the Real WorldApr 12, 2025 am 12:06 AM

JavaScript's applications in the real world include server-side programming, mobile application development and Internet of Things control: 1. Server-side programming is realized through Node.js, suitable for high concurrent request processing. 2. Mobile application development is carried out through ReactNative and supports cross-platform deployment. 3. Used for IoT device control through Johnny-Five library, suitable for hardware interaction.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool