当前位置:首页 > JavaScript

用js实现transition

2026-03-16 03:39:18JavaScript

使用 JavaScript 实现 CSS Transition

在 JavaScript 中实现 CSS Transition 可以通过直接操作元素的样式或切换类名来完成。以下是几种常见方法:

直接修改元素的 style 属性

通过 JavaScript 动态修改元素的 transition 属性和目标样式,触发过渡效果。

const element = document.getElementById('target');
element.style.transition = 'all 0.5s ease'; // 设置过渡属性
element.style.width = '200px'; // 触发过渡

通过切换类名实现

定义 CSS 类包含过渡效果,通过 JavaScript 切换类名触发动画。

CSS 部分:

.box {
  width: 100px;
  height: 100px;
  background: blue;
  transition: all 0.5s ease;
}

.box.active {
  width: 200px;
  background: red;
}

JavaScript 部分:

const box = document.querySelector('.box');
box.addEventListener('click', () => {
  box.classList.toggle('active'); // 切换类名触发过渡
});

监听过渡事件

JavaScript 可以监听 transitionend 事件,在过渡完成后执行回调。

element.addEventListener('transitionend', () => {
  console.log('过渡完成');
});

动态设置过渡属性

通过 JavaScript 动态调整过渡的持续时间、延迟或缓动函数。

用js实现transition

element.style.transition = 'width 1s cubic-bezier(0.4, 0, 0.2, 1) 0.5s';

注意事项

  • 确保目标样式与初始样式不同,否则过渡不会触发。
  • 过渡属性需明确指定(如 widthopacity),使用 all 可能影响性能。
  • 修改 display: nonevisibility 不会触发过渡,需通过延时或 requestAnimationFrame 处理。

标签: jstransition
分享给朋友:

相关文章

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与…

js实现文件下载

js实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url, f…

js实现验证

js实现验证

验证表单输入 使用JavaScript验证表单输入是常见的需求。可以通过监听表单提交事件,检查输入字段是否符合要求。 document.getElementById('myForm').addEve…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(func,…