Animation.js简介

Animation.js简介

Animation.js是一个轻量级的JavaScript库,拥有直观、高效的API。它可以使用JavaScript对象、CSS和DOM元素进行操作,同时也很容易上手。

传统上,我们通过逐渐修改元素的样式来创建动画。虽然JavaScript可以实现这样的动作,但甚至最简单的动画开发起来也很困难且耗时。

Animation.js通过提供各种工具简化了动画制作过程。它能够调节时序和用户输入,并支持多个动画同时在同一个对象上运行。

大多数流行的浏览器也支持Animation.js。

安装Animation.js的一部分

  • 您可以从下面的链接直接下载anime.min.js文件并使用:
<script src="./folder/subFolder/anime.min.js"></script>
  • 通过搜索 “anime.js CDN” 并将其粘贴到你的脚本标签中,你可以找到链接
<script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.0/anime.min.js"></script>

anime.js的基本语法

我们已经了解了如何安装anime.js和其基础知识,现在让我们来看一下anime.js的语法:

let animation = anime ({
   targets,
   properties,
   property parameters,
   animation parameters,
});

在上面的语法中,我们使用由Anime.js提供的anime()函数创建了一个动画,anime()函数接受一个JavaScript对象作为参数,该对象包含动画的属性。

现在让我们详细讨论Anime.js基本语法中的每个术语。

目标

目标是我们希望进行动画操作的组件的引用,可以是HTML标签、类别或ID元素的形式,可以是任何CSS选择器、单个DOM节点或DOM节点数组,也可以是通过JavaScript创建的具有至少一个数值属性和由前三种值中任意组合组成的数组。

属性

在指定目标后,我们在后面提及要进行动画的属性。这些属性可以包括可以进行动画处理的CSS、JS和SVG属性。

属性参数

属性参数包括在很大程度上影响动画的时间性质的方面。这些属性参数包括持续时间、延迟、结束延迟、缓动、舍入和许多其他参数。

动画参数

动画参数控制动画的前后操作。这包括与动画相关的方向、循环和自动播放的选项。

控制

为了使动画具有交互性,Anime.js还提供了控制工具。这里有一些示例技巧:开始、暂停、反向和重新开始。

示例

在这个示例中,我们将创建一些具有特定宽度和高度的div元素。通过一些CSS,我们将添加特定的背景颜色。在JavaScript部分,我们将首先在anime函数中添加所有所需的内容,然后传递具有属性的对象。

在涵盖所有内容后,现在我们有了要在所需元素上进行动画处理的主要目标,这里是div块。在这种情况下,我们将使用translateX向x轴方向从初始位置移动。

<html>
<head>
   <script src= "https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.0/anime.min.js"></script> 
</head>
<body>
   <h2>
      Introduction of Anime.Js
   </h2>
   <div style="background: green;
      height: 30px;
      width: 50px;">
   </div>
   <script>
      let animation = anime({
         targets: "div",
         translateX: 150,
         easing: "linear",
         direction: "alternate",
         height: "100px",
         width: "100px",
         duration: 2300,
         loop: true,
      });
   </script>
</body>
</html>

在上述代码中,首先,我们定义了HTML代码的主要结构,然后我们使用代码头部的’src’标签将anime.js库添加到我们的代码中。在body中,首先我们定义了一个div元素,我们将在其上实现动画。然后在script标签内,我们定义了所需的动画类型,即给定绿色块从其位置移动到另一个位置,并在一定时间内改变块的大小。

示例

在之前的示例中,我们定义了一个方框,并将其动画化以增加其高度和宽度,现在我们将改变高度和宽度,但增加宽度并减小高度。

<html>
<head>
   <script src= "https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.0/anime.min.js"></script>
</head>
<body>
   <h2>
      Increasing the size of width and decreasing the size of height
   </h2>
   <div style="background: green;
      height: 100px;
      width: 10px;">
   </div>
   <script>
      let animation = anime({
         targets: "div",
         translateX: 150,
         easing: "linear",
         direction: "alternate",
         height: "10px",
         width: "100px",
      });
   </script>
</body>
</html>

在上面的代码中,首先,我们定义了HTML代码的主要结构,然后使用头部的’src’标签将anime.js库添加到我们的代码中。在body中,我们首先定义了要实现动画的div元素。然后在script标签中,我们定义了所需的动画类型,也就是给定绿色块从其位置移动到另一个位置的运动,持续一段定义好的时间,同时还会改变块的大小,即减小高度并增加宽度的大小。

示例

在这个示例中,我们将使用anime.js库将一个矩形框动画变成一个圆形。我们将指定变化的持续时间为3000秒,并在循环中运行。让我们来看看代码−

<html>
<head>
   <script src= "https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.0/anime.min.js"></script>
</head>
<body>
   <center>
      <h1 style="color: red;">More Animation by anime.js</h1>
      <b>
         Here we will do animation on the border
      </b>
      <div style="background: blue;
         width: 100px;
         height: 100px;
         padding-top: 10px; ">
      </div>
   </center>
   <script>
      let animation = anime({
         targets: "div",
         easing: "easeInOutQuad",
         loop: true,
         duration: 3000,
         backgroundColor: "yellow",
         borderRadius: "110px",
      });
   </script>
</body>
</html>

在上面的代码中,首先我们定义了HTML代码的主要结构,然后使用head中的’src’标签将anime.js库添加到我们的代码中。在body中,我们首先定义了要实现动画的div元素。然后在script标签内,我们定义了所需的动画类型,即给定蓝色框在三秒钟或3000毫秒内移动到蓝色圆圈的动作。

结论

在本教程中,我们详细讨论了anime.js,并提供了示例。Anime.js是一个轻量级的JavaScript库,具有简单而有效的API。它可以与JavaScript对象、CSS和DOM元素一起使用,同时Anime.js也易于使用。传统上,我们通过逐渐修改元素的样式来创建动画。虽然JavaScript可以实现这样的动作,但即使是最简单的动画也很难且耗时。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程