通过 opacity 动画实现

来源:5-7 Collapse 添加动画第二部分 - 尽善尽美

李子一

2025-03-14

这节我用的 opacity动画实现的
css:

.ace-enter-active,
.ace-leave-active {
  transition:
    height 0.2s ease-in-out,
    opacity 0.2s ease-in-out;
}

js:

const transitionEvents: Record<string, (el: HTMLElement) => void> = {
  beforeEnter(el) {
    el.style.height = '0px';
    el.style.opacity = '0';
  },
  enter(el) {
    el.style.height = `${el.scrollHeight}px`;
    el.style.opacity = '1';
  },
  afterEnter(el) {
    el.style.height = '';
    el.style.opacity = '';
  },
  beforeLeave(el) {
    el.style.height = `${el.scrollHeight}px`;
    el.style.opacity = '1';
  },
  leave(el) {
    el.style.height = '0px';
    el.style.opacity = '0';
  },
  afterLeave(el) {
    el.style.height = '';
    el.style.opacity = '';
  },
};
写回答

1回答

张轩

2025-03-14

同学你好

看起来是没有问题,也可以实现完全一样的效果。

0
1
李子一
受您课程启发,想到的😁
2025-03-14
共1条回复

进阶必学,打造媲美ElementPlus的组件库

Vue3.3 + TS4 ,自主打造媲美 ElementPlus 的组件库

480 学习 · 218 问题

查看课程