javascript 中动画制作方法 animate()属性

 更新时间:2022年04月14日 16:36:29   作者:zhijie   
这篇文章主要介绍了javascript 中动画制作方法 animate()属性,animate是所有dom元素都有的方法,可以用来最做过度动画,关键帧动画,下面文章的相关介绍需要的小伙伴可以参考一下

animate是个非常冷门的方法,以至于百度和手册上都找不到相关的资料。当然通过一个小小的demo,我还是发现了方法的一些属

animate是所有dom元素都有的方法,可以用来最做过度动画,关键帧动画。这个方法可以更方便的让我们制作动

animate共有两个参数 (很可惜似乎没有回调函数,没发现)

关键帧 (参数可以是数组或对象,数组内包裹的也必须是对象)
对象里的属性就是css属性和值了

动画属性设置 {参数数字或者对象}

目前发现的属性有以下 :

  • duration: 动画时长 (单位毫秒)
  • iterations :重复次数(默认1) 数字 (无限循环:‘Infinity’) [非必须]
  • fill :结束时复位 [不复位:forwards, 复位(默认值):none] [非必须]
  • delay : 设置动画延迟时长 (单位毫秒) [非必须]
  • easing :设置动画 运动速率 [esse(默认):慢-快-慢 ,linear: 匀速, ease-in: 慢-匀速, ease-in-out 慢-匀速-慢] [非必须]

通过两个案例说明一下:

过度动画即第一个参数直接为对象{}

<div id="box" style=”width: 200px;height: 200px;background: red;border-radius:50% 50% 0 0;”></div>

    <script>
            // 获取元素对象
       var box = document.getElementById("box");

 		box.animate(
        { // 对象
           transform:'rotate(360deg)'
        },
        { 
            duration: 1000,  //  动画时长  (单位毫秒)
            easing:'linear',		// 平滑
            iterations: Infinity,  //  重复次数  (无限循环:Infinity)
            
        },
       ); 
 </script>

第二个小盒子移动,第一个参数是数字,数组包裹着对象(每个对象就算一个关键帧)[{},{}]

<style type="text/css">
        #box{
            width: 200px;
            height: 200px;
            background: red;
			position: absolute;
			border-radius:50% 50% 0 0;
        }
</style>
<div id="box"></div>
<script>
      box.animate(
        [  //关键帧(数组包裹对象)
        		{transform:'translate3d(0px, 0px, 0)',opacity:'1'},     // 第一帧
        		{transform:'translate3d(50px, 0px, 0)',opacity:'.8'},   // 第二帧
     		{transform:'translate3d(150px, 100px, 0)',opacity:'.5'}, // 第三帧
        ],
        { 
            duration: 1000,  //  动画时长  (单位毫秒)
            iterations: 1,  //  重复次数  (无限循环:Infinity)
            fill:'forwards',  //结束时不复位
            delay:0,   // 设置动画延迟时长 (单位毫秒)
            easing:'linear'  //设置动画 运动速率  (linear: 匀速)
        },
       );
</script> 

到此这篇关于javascript 中动画制作方法 animate()属性的文章就介绍到这了,更多相关javascript animate()属性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • onmouseover事件和onmouseout事件全面理解

    onmouseover事件和onmouseout事件全面理解

    最近两天在温习onmouseover事件和onmouseout事件,其实里面有很多深奥的知识,接下来小编给大家带来了onmouseover事件和onmouseout事件全面了解,感兴趣的朋友一起看下
    2016-08-08
  • js如何根据class获取元素并且点击元素详解

    js如何根据class获取元素并且点击元素详解

    这篇文章主要给大家介绍了关于js如何根据class获取元素并且点击元素的相关资料,获取元素集合的方法有很多,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-04-04
  • 巧用canvas

    巧用canvas

    作为一项有意思的新技术,canvas给我们带来了对网页绘图和网页动画的新革命。本文简单介绍下canvas实用的功能,下面跟着小编一起来看下吧
    2017-01-01
  • 几种延迟加载JS代码的方法加快网页的访问速度

    几种延迟加载JS代码的方法加快网页的访问速度

    如何延迟javascript代码的加载,加快网页的访问速度,为了让我们的网页加载速度更快,本文总结了一下几个注意点,感兴趣的朋友可以参考下
    2013-10-10
  • 前端BOM操作常用命令详解及代码案例

    前端BOM操作常用命令详解及代码案例

    浏览器对象模型(BOM)是浏览器提供的JavaScript操作浏览器的API,提供了与网页无关的浏览器功能对象,这篇文章主要给大家介绍了关于前端BOM操作常用命令详解及代码案例的相关资料,需要的朋友可以参考下
    2024-10-10
  • JS实现基数排序的示例代码

    JS实现基数排序的示例代码

    基数排序是一种根据数字位数的值,对整数进行排序的算法,本文主要介绍了JS实现基数排序的示例代码,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • 使用JSX实现Carousel轮播组件的方法(前端组件化)

    使用JSX实现Carousel轮播组件的方法(前端组件化)

    做这个轮播图的组件,我们先从一个最简单的 DOM 操作入手。使用 DOM 操作把整个轮播图的功能先实现出来,然后在一步一步去考虑怎么把它设计成一个组件系统
    2021-04-04
  • js实现鼠标拖拽div左右滑动

    js实现鼠标拖拽div左右滑动

    这篇文章主要为大家详细介绍了js实现鼠标拖拽div左右滑动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • JS 限时限次数点击按钮的实现思路

    JS 限时限次数点击按钮的实现思路

    这篇文章主要介绍了JS 限时限次数点击按钮,实现方法很简单需要用一个变量作为计数,点击一次,计数加一点击函数内判断计数变量设置定时恢复,对实例代码感兴趣的朋友一起看看吧
    2022-03-03
  • Js中foreach()用法及使用的坑记录

    Js中foreach()用法及使用的坑记录

    这篇文章主要介绍了Js中foreach()用法及使用的坑记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10

最新评论