有没有更好的方法来利用'transitionend'事件而不是使用超时或间隔?

时间:2018-11-26 20:10:17

标签: javascript css css-transitions transition

我正在尝试制作一个屏幕保护程序,该屏幕保护程序从一个屏幕淡入另一个屏幕。每个页面都有各自带有自己的图像的网格,彼此之间逐渐消失,这有点复杂,但这是基本前提。

鉴于超时的预期执行时间不准确(它们被压入堆栈并在有能力的情况下执行),我试图利用transitionend事件,因为我的代码将等待动画/过渡实际上已结束,在此之前不会执行其他代码。

我遇到的主要问题是我有一个递归超时,该超时应该大约每45秒运行一次,从而触发整个页面褪色(更改不透明度)以显示另一页。鉴于超时已推送到堆栈中,该超时的执行已关闭,所以对我来说最好将CSS过渡放在动画时间为45秒的页面上,一旦触发transitionend事件,下一个屏幕保护程序网格页面和内容。

tl; dr在动画实际结束时是否有任何利用transitionend事件的技巧?除了将某些CSS属性设置为在45秒内过渡之外,是否有更有效的方法来处理等待transitionend事件的情况?截至目前,我只是将页面元素的opacity设置为在45秒内从1更改为0.999,以便确保我能真正获得过渡回调时间。

0 个答案:

没有答案