JavaScript动画基本原理

JavaScript动画基本原理JavaScript动画基本原理在现在做页面很多时候都会用上动画效果。比如下拉菜单,侧边搜索栏,层的弹出与关闭等等。通常我们实现这些动画效果可以采用JavaScript与CSS3两种方式来实现。本文主要介绍JavaScript动画,CSS3的动画下次在总结。对于JavaScript动画目前有很多的动画插件库,如:Jquery等等.以下就简单介绍以下JavaScript动画的实现原理。1.动

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

JavaScript动画基本原理

在现在做页面很多时候都会用上动画效果。比如下拉菜单,侧边搜索栏,层的弹出与关闭等等。通常我们实现这些动画效果可以采用
JavaScriptCSS3两种方式来实现。本文主要介绍JavaScript动画,CSS3的动画下次在总结。对于JavaScript动画
目前有很多的动画插件库,如: Jquery等等.以下就简单介绍以下JavaScript动画的实现原理。

1.动画的原理

动画是利用人眼的视觉残留特性而达成的一种视觉效果,即人眼看到的影像会有短暂时间的残留,这个时间约为1/24秒,当一段连续变化的影像
在较短时间内变化时就会给人以流畅的感觉。根据1/24秒这个数据我们可以推断出,当连续变化的影像为每秒24次的速度就能给人流畅的感觉。
所以电影的帧频为24帧,而电视一般采用的是25帧和30帧两种制式。
:就是动画中最小单位的单幅影像画面,在讲多少帧的时候指的就是每秒钟画面切换的次数

2.JavaScript中的动画简介

在JavaScript中没有帧的概念.但是我们可以通过setTimeout()setInterval()这两个方法来实现类似的效果.
1. setTimeout(callback, time):延迟一段时间(time/ms)后执行对应的方法callback, 只执行一次
1. setInterval(callback, time):延迟一段时间(time/ms)后执行对应的方法callback, 循环执行,直到取消
如以下简单实例:

<div id="divTest" style="position:absolute;width=10px;height:10px;background-color:red;">
</div>
var ele = document.getElementById("divTest");
function changeStyle(){ 
   
  var originLeft = parseInt(obj.style.left);
    obj.style.left=originLeft+20+'px'
  //当left值大于100px时, 停止移动效果
    if(originLeft>=100)
        clearInterval(timer);
}
var timer=setInterval(changeStyle,40);

以上就是一个最简单的动画效果了, 方块向右移动,当距离大于100px时, 停止移动.在真是的应用中,效果就比这个复杂多了,这里只是简单描述
JavaScript动画的原理.

2.javaScript中动画运动的一些算法.

  1. JavaScript Tween算法及缓动效果

3. 一些动画库

  1. Jquery动画: Jqeury对于动画的支持
  2. velocity.js/其GitHub地址:完全类似于Jquery语法的动画库
  3. Tween JS:支持根据数值对象的属性和 CSS 样式的属性进行补间动画
  4. Animo.js:CSS 动画的工具,叠加动画,创建跨浏览器的模糊效果,动画完成后可执行回调函数。
  5. Move.js:利用CSS3支持的动画变得非常简单和优雅
  6. Collie:有助于使用 HTML5 创造高度优化的动画和游戏的JavaScript库
  7. Minified.js一个体积小(<8kB)功能强的客户端JavaScript库。它提供了类似于jQuery的功能(DOM操作、动画、时间、HTTP请求) 和其他功能(集合、日期&数字格式化、日期计算、模板),并有着简单明了的API
  8. Rekapi:JavaScript关键帧动画库。它提供了一套API让你可以定义关键帧动画并控制动画播放
  9. Snap.svg:SVG是建立互动的一个很好的方式,独立于分辨率的矢量图形会在任何屏幕看起来都很棒
  10. Favico:给网站图标 favicon 添加徽章、图片,甚至是视频
  11. Textillate.js:针对 CSS3 文本动画的简单插件
  12. Firmin:使用 CSS 的转换和过渡功能来创造光滑的、带有硬件加速的动画的Javascript动画库
  13. AliceJS:微型的JavaScript库,集中在使用硬件加速的能力(特别是CSS3特性)在现代浏览器中生成高端大气上档次的视觉效果。
  14. SVG.js
  15. Motio:轻量的用于制作简单但功能强大的基于动画和平移画面的Javascript库
  16. Anima.js:简化在同一时刻使得成百上千的元素具有动画效果的工作. 并且可以更好的控制你的动画, 甚至可以只创建CSS动画
    15 个最棒的JavaScript动画库
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181522.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 常量表达式是什么_const常量

    常量表达式是什么_const常量常量表达式值(constant-expressionvalue)。通常情况下,常量表达式值必须被一个常量表达式赋值,而跟常量表达式函数一样,常量表达式值在使用前必须被初始化。一、常量表达式1.1运行时常量性与编译时常量性在C++中,我们常常会遇到常量的概念。常量表示该值不可修改,通常是通过const关键字来修饰的。比如:constinti=3;const还可以修饰函数参数、函数返回值、函数本身、类等。在不同的使用条件下,const有不同的意义,不过大多数情况下,const描述的都

    2022年9月27日
    4
  • Hadoop教程(一) Hadoop入门教程「建议收藏」

    Hadoop教程(一) Hadoop入门教程「建议收藏」Hadoop是Apache开源组织的一个分布式计算开源框架(http://hadoop.apache.org/),用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。Hadoop框架中最核心设计就是:HDFS和MapReduce,HDFS实现存储,而MapReduce实现原理分析处理,这两部分是hadoop的核心。数据在Hadoop中处理的流程可以简单的按照下图来理解:数据通过Haddop的集群处理后得到结果,它是一个高性能处理海量数据集的工具 。

    2022年4月29日
    60
  • 解惑3:时间频度,算法时间复杂度[通俗易懂]

    解惑3:时间频度,算法时间复杂度[通俗易懂]一、概述先放百科上的说法:算法的时间复杂度(Timecomplexity)是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括

    2022年8月16日
    10
  • 关于keil注册机的问题[通俗易懂]

    关于keil注册机的问题[通俗易懂]今天用keil时,因为程序太大(超过2k),所以出现了,不能生成hex文件的问题,下载了一个注册机后还是不行,最终找到了解决方法。WIN7系统使用注册机一定要使用xp兼容模式,以管理员身份运行。此外,win7下安装keil的路径不能出现中文,只能全部使用英文,不然还会有问题。右键点快捷方式或者执行程序→属性→兼容性→选项卡→以兼容模式运行打钩→选择兼容的WINDOWS版本(SP3)→以管理

    2022年6月5日
    32
  • Linux电子书(百度云下载)[通俗易懂]

    Linux电子书(百度云下载)[通俗易懂]全部放到一个文件夹下了 Linux电子书下载

    2025年8月6日
    3
  • centos7/6.9 docker-ce-17/1.7.1使用证书登陆(openssl tls)

    centos7/6.9 docker-ce-17/1.7.1使用证书登陆(openssl tls)

    2021年5月12日
    140

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号