在CSS3中,大家可以通过 transition 和 animation 属性来创建动画效果。其中,animation 属性是大家今天要介绍的重点。该属性允许大家创建复杂的动画效果,包括关键帧、循环、延迟等。同时,大家还可以监听动画的各种事件,来实现在动画结束时执行JavaScript代码。
/*CSS代码*/ .element { animation: my-animation 2s; } @keyframes my-animation { from {transform: translateX(0); opacity:1;} to {transform: translateX(100px); opacity:0.5;} } /*JavaScript代码*/ var element = document.querySelector('.element'); element.addEventListener('animationend', function() { console.log('动画结束了!'); });
上面代码中,大家首先定义了一个名为 my-animation 的 CSS 动画,它会在 2 秒钟内将元素从左侧平移至右侧,同时逐渐减少透明度。接着,大家在 JavaScript 中使用 querySelector 方法查询到这个元素,然后通过 addEventListener 方法监听了 animationend 事件。当动画结束时,就会调用事件处理函数,输出一段文本。
除了 animationend 事件外,CSS 动画还可以监听其他关键事件,包括 animationstart(动画开始时触发)、animationiteration(动画循环时触发)等。你可以在需要的地方选择不同的事件来监听动画,来达到不同的效果。
综上所述,CSS 动画结束后执行 JavaScript 代码,可以让大家在页面上实现更加生动的交互效果。通过监听 animationend 事件,大家可以在动画结束时执行 JavaScript 代码,来实现更加丰富的网页效果。