当前位置:首页 > JavaScript

js 实现 transition

2026-04-06 12:14:43JavaScript

使用 CSS 和 JavaScript 实现过渡效果

在 JavaScript 中实现 CSS transition 效果,可以通过直接操作元素的样式或类名来触发过渡。以下是几种常见方法:

通过修改内联样式触发过渡

通过 JavaScript 直接修改元素的 style 属性,配合 CSS 定义的过渡属性实现动画效果。

js 实现 transition

/* CSS 部分 */
.box {
  width: 100px;
  height: 100px;
  background: blue;
  transition: all 0.5s ease;
}
// JavaScript 部分
const box = document.querySelector('.box');
box.style.width = '200px'; // 触发宽度过渡动画
box.style.backgroundColor = 'red'; // 触发颜色过渡动画

通过切换类名触发过渡

定义包含目标样式的 CSS 类,通过 JavaScript 动态添加或移除类来触发过渡。

js 实现 transition

/* 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.classList.add('active'); // 添加类触发过渡

使用 transitionend 事件监听过渡完成

通过监听 transitionend 事件,可以在过渡动画完成后执行回调函数。

box.addEventListener('transitionend', (e) => {
  console.log('过渡完成', e.propertyName); // 输出被过渡的属性名
});

动态设置过渡属性

通过 JavaScript 动态修改过渡的持续时间、缓动函数等属性。

box.style.transition = 'width 1s cubic-bezier(0.4, 0, 0.2, 1)';
box.style.width = '300px'; // 触发自定义过渡效果

注意事项

  • 性能优化:避免过渡属性设置为 all,明确指定需要过渡的属性(如 widthopacity)。
  • 硬件加速:对 transformopacity 使用过渡可获得更好的性能。
  • 兼容性transitionend 事件在不同浏览器中可能需要前缀(如 webkitTransitionEnd)。

通过结合 CSS 的 transition 属性和 JavaScript 的动态操作,可以实现灵活的交互式过渡效果。

标签: jstransition
分享给朋友:

相关文章

js实现

js实现

JavaScript 实现方法 JavaScript 是一种广泛使用的编程语言,适用于网页开发、服务器端编程以及移动应用开发。以下是几种常见的 JavaScript 实现方法: 网页交互功能 使用…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:CSS…

js分组实现

js分组实现

分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组分…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 c…

js实现搜索

js实现搜索

实现搜索功能的方法 在JavaScript中实现搜索功能可以通过多种方式完成,以下是几种常见的实现方法。 使用数组的filter方法 通过数组的filter方法可以筛选出符合条件的数据项。假设有一个…

elementui transition

elementui transition

ElementUI Transition 组件使用指南 ElementUI 提供了 Transition 组件用于实现 Vue.js 的过渡效果,通常与组件显示隐藏状态配合使用。以下是详细使用方法:…