当前位置:首页 > JavaScript

js实现transition

2026-02-01 22:06:21JavaScript

使用CSS transition与JavaScript结合

在JavaScript中实现CSS过渡效果(transition),通常通过动态修改元素的样式属性来触发。CSS transition本身是CSS属性,但可以通过JavaScript控制其触发条件。

定义CSS transition属性:

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

通过JavaScript修改样式触发过渡:

const element = document.querySelector('.element');
element.addEventListener('click', () => {
  element.style.width = '200px';
  element.style.height = '200px';
});

监听transitionend事件

可以监听过渡完成事件,在过渡结束后执行回调:

element.addEventListener('transitionend', () => {
  console.log('Transition ended');
});

动态修改transition属性

通过JavaScript动态设置transition属性:

element.style.transition = 'width 1s ease-in-out';
element.style.width = '300px';

使用classList切换类名

更推荐的做法是通过切换class来管理过渡状态:

.element.active {
  width: 200px;
  height: 200px;
  background: red;
}

JavaScript代码:

element.addEventListener('click', () => {
  element.classList.toggle('active');
});

强制触发回流

在某些情况下需要强制浏览器回流以确保过渡生效:

element.style.width = '100px';
// 强制回流
void element.offsetWidth;
element.style.width = '200px';

控制多个属性过渡

可以单独控制不同属性的过渡效果:

.element {
  transition: 
    width 0.3s ease,
    height 0.5s linear,
    background-color 1s;
}

取消过渡效果

临时移除transition属性可以立即停止过渡:

element.style.transition = 'none';
element.style.width = '100px';
// 恢复过渡
setTimeout(() => {
  element.style.transition = '';
}, 100);

js实现transition

标签: jstransition
分享给朋友:

相关文章

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 //…

js实现vue路由

js实现vue路由

Vue路由基础实现 使用Vue Router实现前端路由需要先安装并配置路由库。Vue Router是Vue.js官方的路由管理器。 安装Vue Router: npm install vue-r…

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Jav…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…