【CSS3-transition】过渡完成之后执行自定义处理

本文介绍了一种在CSS3过渡效果完成后执行特定操作的方法,即通过监听transitionend事件来实现。这种方法相较于使用定时器更为优雅且准确。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

CSS3中引入了很多新的特性,其中一个就是trainsition,这个新特性让我们在一种样式转变为另一种样式时,无需使用Flash & Javascript。这个特性在越来越多的项目中被应用。

回放

在写自己博客程序中,由于全站采用Websocket or ajax进行'无延迟'通信,所以在header处添加了一个loader-bar,实时显示'进度'(很多网站应该都有这样的设计)。在加载完成之后需要隐藏这个loader-bar,但是因为用了CSS3的trainsition,所以之前我的做法是在增加进度条时,检测是否全部完成(宽度是否达到100%之类的),然后设置一个定时器,这个定时器需要调整到和transition-duration相适应。但是这样不优雅。

解决

其实很简单,只怪自己粗心没看到文档底部的更多相关,方案如下

element.addEventListener("transitionend", function() {
    // do something
}, true);

参考

  1. Detecting the completion of a transition

  2. TransitionEvent

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值