什么的玉米
To achieve fading effect, it is recommended to combine JavaScript and CSS transition; 1. Use JavaScript to switch classes with CSS transitions to control opacity; 2. Pure JavaScript adjusts opacity frame by frame to achieve fine control; 3. SetInterval simple version can be optional, but the performance is poor; the best practice is to use CSS to process animations, and JavaScript is responsible for logical control to achieve smooth and efficient visual effects.
To create a fade-in or fade-out effect with JavaScript, you manipulate an element's opacity
over time using setInterval
, setTimeout
, or modern animation methods like requestAnimationFrame
. You can also combine this with CSS transitions for smoother results. Here's how to do it both ways:

1. Using JavaScript CSS Transitions (Recommended)
This method is smooth, simple, and leverages the browser's rendering engine.
CSS:

.fade-element { opacity: 1; transition: opacity 0.5s ease; } .fade-out { opacity: 0; } .fade-in { opacity: 1; }
JavaScript:
const element = document.getElementById('myElement'); // Fade out function fadeOut() { element.classList.remove('fade-in'); element.classList.add('fade-out'); } // Fade in function fadeIn() { element.classList.remove('fade-out'); element.classList.add('fade-in'); } // Example usage setTimeout(fadeOut, 500); // Fade out after 0.5s setTimeout(fadeIn, 1500); // Fade in after 1.5s
? Why this works well: CSS handles the animation smoothly, and JavaScript just toggles classes.

2. Pure JavaScript (Manual Opacity Control)
Use this if you need more control or can't use CSS transitions.
function fadeIn(element, duration = 500) { element.style.opacity = 0; element.style.display = 'block'; // In case it was hidden let start = null; const tick = (timestamp) => { if (!start) start = timestamp; const progress = timestamp - start; const opacity = Math.min(progress / duration, 1); element.style.opacity = opacity; if (opacity < 1) { requestAnimationFrame(tick); } }; requestAnimationFrame(tick); } function fadeOut(element, duration = 500) { let start = null; const opacity = parseFloat(element.style.opacity) || 1; const tick = (timestamp) => { if (!start) start = timestamp; const progress = timestamp - start; const currentOpacity = opacity * (1 - Math.min(progress / duration, 1)); element.style.opacity = currentOpaque; if (currentOpacity > 0) { requestAnimationFrame(tick); } else { element.style.display = 'none'; // Optional: hide after fade } }; requestAnimationFrame(tick); }
Usage:
const el = document.getElementById('myDiv'); fadeOut(el, 1000); // Fade out over 1 second fadeIn(el, 1000); // Fade in over 1 second
?? Note: This method gives fine control but requires more code and careful handling of timing.
3. Reusable Helper Function (Simple Interval Version)
For quick scripts without requestAnimationFrame
:
function fadeOut(el, speed = 10) { el.style.opacity = 1; let timer = setInterval(() => { el.style.opacity -= 0.1; if (el.style.opacity <= 0.1) { clearInterval(timer); el.style.display = 'none'; } }, speed); } function fadeIn(el, speed = 10) { el.style.opacity = 0; el.style.display = 'block'; let timer = setInterval(() => { el.style.opacity = parseFloat(el.style.opacity) 0.1; if (el.style.opacity >= 1) { clearInterval(timer); } }, speed); }
Key Tips:
- Use
transition
in CSS for smoother, hardware-accelerated animations. - Prefer
requestAnimationFrame
oversetInterval
for performance. - Always handle edge cases: element visibility, multiple calls, and display property.
- Consider using libraries like GSAP for complex effects, but plain JS works fine for simple fades.
Basically, it's about gradually changing opacity — the best approach combines CSS for the animation and JavaScript for control.
The above is the detailed content of How do you create a fade-in or fade-out effect with JavaScript?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Solve the problem of UniApp error: 'xxx' animation effect cannot be found UniApp is a cross-platform application development framework based on the Vue.js framework, which can be used to develop applications for multiple platforms such as WeChat applets, H5, and App. During the development process, we often use animation effects to improve user experience. However, sometimes you will encounter an error: The 'xxx' animation effect cannot be found. This error will cause the animation to fail to run normally, causing inconvenience to development. This article will introduce several ways to solve this problem.

With the rapid development of mobile Internet, more and more programmers are beginning to use uniapp to build cross-platform applications. In mobile application development, page transition animation plays a very important role in upgrading user experience. Through page transition animation, it can effectively enhance the user experience and improve user retention and satisfaction. Therefore, let’s share how to use uniapp to achieve page transition animation effects and provide specific code examples. 1. Introduction to uniapp Uniapp is a base product launched by the DCloud development team.

Methods and techniques on how to achieve floating animation effects through pure CSS. In modern web design, animation effects have become one of the important elements that attract users’ attention. One of the common animation effects is the floating effect, which can add a sense of movement and vitality to the web page, making the user experience richer and more interesting. This article will introduce how to achieve floating animation effect through pure CSS, and provide some code examples for reference. 1. Use the transition attribute of CSS to achieve the floating effect. The transition attribute of CSS can

Vue is a popular JavaScript framework that uses a data-driven approach to assist developers in building single-page web applications with strong interactivity and beautiful data presentation. Vue has many useful features built-in, one of which is page transition animation. In this article, we will introduce how to use Vue’s transition animation function and discuss the most common animation effects. Implementing Vue page transition animation Vue's page transition animation is through Vue's <transition> and <tr

Design and development guide for UniApp to realize animation effects and special effects display 1. Introduction UniApp is a cross-platform development framework based on Vue.js. It can help developers quickly and efficiently develop applications that adapt to multiple platforms. In mobile application development, animation effects and special effects display can often enhance the user experience and increase the attractiveness of the application. This article will introduce how to implement animation effects and special effects display in UniApp. 2. Implementation of animation effects In UniApp, you can use the global animation library uni-

HTML, CSS and jQuery: Create a loading progress bar with animated effects. The loading progress bar is a common web page loading effect. It allows users to clearly see the progress of the current page loading and improves user experience. In this article, we will use HTML, CSS and jQuery to create a loading progress bar with animation effects, and provide specific code examples. HTML Structure First, let's create the basic structure of HTML. We need a container element that contains the progress bar, and in

Title: Using uniapp to achieve page jump animation effect In recent years, the user interface design of mobile applications has become one of the important factors in attracting users. Page jump animation effects play an important role in improving user experience and visualization effects. This article will introduce how to use uniapp to achieve page jump animation effects, and provide specific code examples. uniapp is a cross-platform application development framework developed based on Vue.js. It can compile and generate applications for multiple platforms such as mini programs, H5, and App through a set of codes.

How to optimize the pop-up box animation effect in Vue development Introduction: With the continuous development of front-end technology, Vue, as a popular front-end framework, is widely used in various projects. In Vue, the popup box (Modal) is one of the frequently used components. However, due to the existence of animation effects, the performance and user experience issues of pop-up boxes have gradually attracted attention. This article will introduce several methods to optimize the pop-up box animation effect in Vue development, aiming to improve the performance and user experience of the pop-up box. Reducing redrawing and reflowing redrawing and reflowing is
