首页 > 编程语言 > JavaScript中和动画相关的几个事件

JavaScript中和动画相关的几个事件

时间:2023-02-06 11:35:46浏览次数:48  
标签:动画 JavaScript element animation let 事件 CSS


JavaScript中有以下几种与动画相关的事件:

requestAnimationFrame

这个事件可以在浏览器重绘之前触发,通常用于制作高性能动画。

下面是一个使用 requestAnimationFrame 来制作简单动画的例子

// 获取要动画的元素
let element = document.getElementById("my-element");

// 初始化动画变量
let x = 0;
let y = 0;
let stepX = 2;
let stepY = 3;

// 定义动画函数
function animate() {
// 更新元素的位置
x += stepX;
y += stepY;
element.style.left = x + "px";
element.style.top = y + "px";

// 使用 requestAnimationFrame 重复调用动画函数
requestAnimationFrame(animate);
}
// 开始动画
animate();

 JavaScript中和动画相关的几个事件_迭代

 JavaScript中和动画相关的几个事件_迭代_02

transitionend

当CSS transition完成时触发此事件。

animationstart, animationiteration, animationend

  • animationstart 事件会在 CSS animation 开始播放时触发。
  • animationiteration 事件会在 CSS animation 每次迭代时触发。
  • animationend 事件会在 CSS animation 结束时触发。

如果你想在 JavaScript 中监听这些事件,可以使用 addEventListener 或 attachEvent 方法。

let element = document.getElementById("my-element");

// 监听 animationstart 事件
element.addEventListener("animationstart", function(){
console.log("animation started");
});

// 监听 animationiteration 事件
element.addEventListener("animationiteration", function(){
console.log("animation iteration");
});

// 监听 animationend 事件
element.addEventListener("animationend", function(){
console.log("animation ended");
});

 JavaScript中和动画相关的几个事件_CSS_03

 JavaScript中和动画相关的几个事件_迭代_04

注意,在使用这些事件之前,需要确保元素上有一个有效的 CSS animation。


标签:动画,JavaScript,element,animation,let,事件,CSS
From: https://blog.51cto.com/u_15680272/6038790

相关文章

  • JavaScript 数组常用方法大全
    前言大家好,我是CoderBin,本次总结了JavaScript中关于数组的一些常用操作,想学习其他方法或者深入学习这些方法的可点击前往MDN-Array。希望对大家有所帮助,谢谢!如果文中有不......
  • [原创]使用混合视图目标后进行控制 动画不连贯问题研究探索
    关于混合设置视图目标的问题,我这场景里面有10个pawn,我用一个按钮点击然后尝试使用混合设置目标切换不同角度,然后调用控制就可以基于这个角度进行旋转啥的,但是调......
  • 我们从 CircleCI 安全事件获得的3个经验教训
    CircleCI作为业内最受欢迎的CI/CD平台提供商之一,有超过20万个DevOps团队使用其平台。该公司在今年1月在其官网报告了一起安全事件引起客户恐慌。在此事件中,有身份不明......
  • 动画学leetcode算法!分享iOSApp算法宝开发过程中的一些想法!
    初来乍到,很喜欢这里的分享氛围,观摩了很多大佬的文章,也分享下自己刚开发的一款App:算法宝。在算法宝App里一共制作了70个leetcode算法动画。目前全部免费,无广告。目前只支持......
  • JavaScript 基础知识(四)
    前面已经介绍HTML和CSS,这两个是网页结构和样式,而负责控制网页行为的是javascript。浏览器上直接可以解释执行,而独立运行就需要nodejs集成运行环境。01-JavaScript的基......
  • XMReport 支持通过前端JavaScript生成PDF打印报表
    XMReport支持通过前端JavaScript生成PDF打印报表Hello大家好,XMReport现在新增了通过JavaScript纯前端生成PDF打印报表的特性:1.整个引擎在浏览器端通过JavaScript运行......
  • JavaScript 中获取数组最后一个元素3种方法及性能
    当需要从JavaScript中的数组中获取最后一个元素时,有多种选择,本文将提供3种可用方法。1.数组length属性​​length​​属性返回数组中元素的数量。从数组的长度中减......
  • JavaScript学习笔记—DOM:操作class
    element.classList是一个对象,对象中提供了对当前元素的类的各种操作方法element.classList.add()向元素中添加一个或多个classelement.classList.remove()移除元素中......
  • 【JavaScript】3_深挖数据类型
    4、其他的数据类型布尔值(Boolean)-布尔值主要用来进行逻辑判断-布尔值只有两个true和false-使用typeof检查......
  • Day2——初识C,那些点滴事件
    #include<stdio.h>//包含头文件#defineP11//宏定义intmain()//执行操作入口{printf("haha\n");......