ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用Animate.css

2022-09-12 14:31:32  阅读:191  来源: 互联网

标签:node 动画 函数 handleAnimationEnd 使用 Animate css


Animate.css是一个css动画库,可以做出一些非常好看的动画;

官网:https://animate.style

Animate.css非常容易上手,但是动画是一开始就加载出来,不能控制;

如何通过js事件,比如点击事件控制呢?

代码:

<html>
<head>
    <meta charset="utf-8"> 
    <title>Animate 实例</title>
   <!-- 引入 -->
<head>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.0/animate.min.css">
</head>
<style type="text/css">
    /* CSS代码 */
#box {
  width: 100px;
  height: 100px;
  background: paleturquoise;
  margin: 100px auto;
}
</style>

<script type="text/javascript">
 /* JS代码 *//* 定义animateCss函数(传过来的元素,动画名,回调函数) */
function animateCss(element, animationName, callback) {
  /* 获取传过来的 */
  const node = document.querySelector(element);
  /* 给元素加上基础类animated,还有动画类 */
  node.classList.add('animated', animationName);
  function handleAnimationEnd() {
    /* 移除基础类和动画类 */
    node.classList.remove('animated', animationName);
    /* 解除当前元素的事件监听 */
    node.removeEventListener('animationend', handleAnimationEnd);    /* 如果有回调函数,就执行回调函数 */
    if (typeof callback === 'function') callback();
  }
  /* 通过事件监听,当动画结束后,执行handleAnimationEnd函数 */
  node.addEventListener('animationend', handleAnimationEnd);
}
</script>
</head>


<body>
 <!-- HTML代码,设置了一个div和一个按钮 -->
<div id="box" ></div>

<center>
  <!-- box是标签的id,bounce是元素的动画效果,可从官网找 -->
<button id="btn" onclick="animateCss('#box','bounce')">btn</button>   
</center>
</body>



</html>

效果,只要点击btn按钮,就会跳动:

 

 

注意:这是3.7.0的版本,目前的Animate.css已经更新到了4.1,如果引入最新的,需要修改js的函数

 

标签:node,动画,函数,handleAnimationEnd,使用,Animate,css
来源: https://www.cnblogs.com/cjin-01/p/16686119.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有