jquery中的$()是什么_js简单特效

jquery中的$()是什么_js简单特效在设计前端页面时,会用到很多效果,我们可以采用CSS样式或JavaScript来实现,在这里给大家介绍JS动画

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

Jetbrains全系列IDE稳定放心使用

JacaScript动画



引言——在设计前端页面时,会用到很多效果,我们可以采用CSS样式或JavaScript来实现,在这里给大家介绍JS动画

一、JacaScript动画的基本原理

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

二、JavaScript中的动画简介

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

三、常用的动画库

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动画

四、动画遇到卡顿的原因及解决方案

(一)卡顿原因

1、原因分析
大多数设备的刷新频率是60次/秒,也就是1秒钟的动画是由60个画面连在一起生成的,所以要求浏览器对每一帧画面的渲染工作要在16ms内完成。当渲染时间超出16ms时,1秒钟内少于60个画面生成,就会有不连贯、卡顿的感觉,影响用户体验
2、页面渲染流程
一个页面帧在客户端的渲染分为以下几步
①JavaScript:JavaScript实现动画效果,DOM操作等。
②Style(样式计算):确认每个DOM元素应用的CSS样式规则。
③Layout(布局):计算每个DOM元素最终在屏幕上的大小和位置。由于DOM元素的布局是相对的,所以当某个元素发生变化影响了布局时,其他元素也会随之变化,则需要回退重新渲染,这个过程称之为reflow。
④Paint(绘制):在多个层上绘制DOM元素的文字、颜色、图像、边框和阴影等。
⑤Composite(Render Layer合并):按照合理的顺序合并图层并显示到屏幕上。 浏览器在实际渲染页面的时候需要经过一系列的映射,由HTML页面构建出来的DOM树到最终的图层。

(二)解决方案(优化)

1、JavaScript:优化JavaScript的执行效率

  • requestAnimationFrame代替setTimeout和setInterval
  • 可并行的DOM元素更新划分为多个小任务
  • DOM无关的耗时操作放到Web Workers中
    2、Style:降低样式计算复杂度和范围
  • 降低样式选择器的复杂度
  • 减少需要执行样式计算的元素个数
    3、Layout:避免大规模、复杂的布局
  • 避免频繁改变布局
  • 用flexbox布局替代老的布局模型
  • 避免强制同步布局事件
    4、Paint/Composite:GPU加速
  • 将移动或渐变元素由渲染层(RenderLayer)提升为合成层(Compositing Layer)
  • 避免提升合成层的陷阱
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

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


相关推荐

  • 分组加密模式 ECB、CBC、PCBC、CFB、OFB、CTR

    在分组加密算法中,有几种不同的工作模式,分别是ECB(Electronic CodeBook,电子密码本模式)、CBC(Cipher-blockchaining,密码块连接模式)、PCBC(Propagatingcipher-blockchaining,填充密码块链接模式)、CFB(Cipherfeedback,密文反馈模式)、OFB(Outputfeedback,输出反馈模式)、CTR…

    2022年4月8日
    48
  • 10个linux常用命令_linux常用命令及实例

    10个linux常用命令_linux常用命令及实例文章目录20个linux常用命令1.ls:列出文件list2.cd:切换目录changedirectory3.cp:复制copy4.mv:移动move5.rm:移除,删除remove6.mkdir:创建文件夹makedirectory7.rmdir:移除,删除文件夹removedirectory8.chown:更改所有者changeowner9.chmod:更改文件的权限模式changemode10.find:查找11.|:管道12.grep:按行查找并匹配13.tar:

    2022年8月24日
    4
  • 【转】使用Chrome Frame,彻底解决浏览器兼容问题「建议收藏」

    【转】使用Chrome Frame,彻底解决浏览器兼容问题「建议收藏」本文转自http://www.ryanbay.com/?p=269,感谢该作者的总结 X-UA-Compatible是自从IE8新加的一个设置,对于IE8以下的浏览器是不识别的。通过在meta中设置X-UA-Compatible的值,可以指定网页的兼容性模式设置。在网页中指定的模式优先权高于服务器中(通过HTTPHeader)所指定的模式。兼容性模式设置优先级: metatag&gt;…

    2022年7月16日
    27
  • oracle的join的用法_oracle分页函数

    oracle的join的用法_oracle分页函数/*关于在join中出现ORA-00918:未明确定义列的解决办法*//*关于join和where表连接问题,需要在使用join时需要使用列的别名,避免相同列名的出现。*/–以下为简要测试过程:–测试对象如下:SQL>select*fromoraking1;IDNAME——————————1oraking2oraking23or…

    2022年10月5日
    0
  • 讲解java源码_Java学习之Java源码讲解「建议收藏」

    讲解java源码_Java学习之Java源码讲解「建议收藏」关于Java中源码的学习,是不少同学头疼的知识点。本文整理了JAVA源码学习的八大要点,分别是基础知识、面向对象、异常处理、集合、综合类核心代码、JAVA8新特性、Input/Output和Java小实例。一、基础知识1.宏观上理解Java的本质2.JVM的原理3.Java变量4.Java数据类型5.Java运算符6.Java判断语句if-else7.Java循环语句switch-case\for…

    2022年7月7日
    25
  • 高数——多元函数的定义及极限

    高数——多元函数的定义及极限之前我们学习的导数、微分和积分都是针对一元函数的,也就是函数只依赖一个变量,但是在我们今后遇到的实际问题中,更多出现的却是要考虑多个变量的情况,这是我们就要用多元函数来表示它们之间的关系了。比如地球表面上一点的温度T同时依赖于纬度x和经度y,可以用一个二元函数T=f(x,y)来表示。和一元函数一样,二元函数也是有定义域和值域的,一元函数的定义域是轴上一个“线段”上的点的集合,而…

    2022年6月3日
    44

发表回复

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

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