我正在尝试制作一个屏幕保护程序,该屏幕保护程序从一个屏幕淡入另一个屏幕。每个页面都有各自带有自己的图像的网格,彼此之间逐渐消失,这有点复杂,但这是基本前提。
鉴于超时的预期执行时间不准确(它们被压入堆栈并在有能力的情况下执行),我试图利用transitionend
事件,因为我的代码将等待动画/过渡实际上已结束,在此之前不会执行其他代码。
我遇到的主要问题是我有一个递归超时,该超时应该大约每45秒运行一次,从而触发整个页面褪色(更改不透明度)以显示另一页。鉴于超时已推送到堆栈中,该超时的执行已关闭,所以对我来说最好将CSS过渡放在动画时间为45秒的页面上,一旦触发transitionend
事件,下一个屏幕保护程序网格页面和内容。
tl; dr在动画实际结束时是否有任何利用transitionend
事件的技巧?除了将某些CSS属性设置为在45秒内过渡之外,是否有更有效的方法来处理等待transitionend
事件的情况?截至目前,我只是将页面元素的opacity
设置为在45秒内从1
更改为0.999
,以便确保我能真正获得过渡回调时间。