iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JS如何实现动画定时器
  • 211
分享到

JS如何实现动画定时器

2024-04-02 19:04:59 211人浏览 泡泡鱼
摘要

这篇文章主要为大家展示了“js如何实现动画定时器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JS如何实现动画定时器”这篇文章吧。广义说:一切通过js改变的视觉

这篇文章主要为大家展示了“js如何实现动画定时器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JS如何实现动画定时器”这篇文章吧。

广义说:一切通过js改变的视觉呈现都叫动画;例如,按钮,链接等元素交互反馈。

狭义说:通过定时器连续调用js函数进行元素属性改变产生的视觉动画效果。

定时器

定时器是javascript动画的核心技术;

setTimeout(),setInterval()是大家熟知的,以前经常使用的;

一般都是做些辅助性,锦上添花的事;

细心的人可能会发现一个现象,从其他标签页切换到有循环动画页面会有卡顿和急速帧切换现象;

问题就在于他们的内在运行机制;

认识setTimeout

第一个参数推荐用函数形式,字符串形式会两次解析,还有eval一样的问题;

不止两个参数,可以更多,见示例1;

this指向问题,见示例2;

返回值是个整数;

clearTimeout(timer)取消定时器;

setInterval,clearInterval同上;

示例1:

setTimeout(function(a,b){ 
 console.log(a+b); 
},1000,1,1);

示例2:

var a = 0;
function foo(){
 console.log(this.a);
};
var obj = {
 a : 2,
 foo:foo
}
setTimeout(obj.foo,100);

运行机制

示例:

setTimeout(function(){ 
 console.log(1); 
}); 
console.log(0);

原因:加入队列,阻塞执行。

setTimeout图例:

JS如何实现动画定时器

setInterval图例:

JS如何实现动画定时器

存在即合理

父子元素事件冒泡,需要先执行父元素,见示例3;

用户自定义的回调函数,通常在浏览器的默认动作之前触发,见示例4;

示例3:

<div id="myDiv" ></div>
<script>
myDiv.onclick = function(){
 setTimeout(function(){
  alert(0);
 })
}
document.onclick = function(){
 alert(1);
}
</script>

示例4:

<input type="text" id="myInput">
<script>
myInput.onkeypress = function(event) {
 setTimeout(function(){
  myInput.value = myInput.value.toUpperCase();
 });
}
</script>

认识requestAnimationFrame

用法与setTimeout类似,只是不需要时间参数;

机制完全不同:

1,setTimeout是异步操作,加入任务队列( event loop ),当js引擎线程中同步代码执行完才会从任务队列中取出执行;

2,raf是用户代理(浏览器)专门针对动画开发的接口,用户代理会以合适的频率进行动画帧更新(一般同显示器刷新频率,1000/60ms),在隐藏或者非活动页面会停止帧更新,节省CPU资源;

3,raf示例

JS如何实现动画定时器

raf简单兼容

window.requestAnimFrame = (function(){ 
 return window.requestAnimationFrame || 
   window.WEBkitRequestAnimationFrame ||   
   window.mozRequestAnimationFrame || 
   function( callback ){  
    window.setTimeout(callback, 1000 / 60);
    };
  })();

以上是“JS如何实现动画定时器”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网JavaScript频道!

--结束END--

本文标题: JS如何实现动画定时器

本文链接: https://www.lsjlt.com/news/78724.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JS如何实现动画定时器
    这篇文章主要为大家展示了“JS如何实现动画定时器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JS如何实现动画定时器”这篇文章吧。广义说:一切通过js改变的视觉...
    99+
    2024-04-02
  • js定时器怎么实现动画效果
    这篇文章将为大家详细讲解有关js定时器怎么实现动画效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.向下滑动<!DOCTYPE html> &l...
    99+
    2024-04-02
  • js如何实现酷炫倒计时动画
    这篇“js如何实现酷炫倒计时动画”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“js如何实现酷炫倒计时动画”文章吧。<!...
    99+
    2023-07-02
  • 如何利用JS实现时间轴动画效果
    目录css动画什么是时间轴动画?动画对象动画函数思考总结css动画 在前端开发中,一些简单的动效往往是使用 css3 的 @keyframes 来实现的 ,如: .div1 { ...
    99+
    2024-04-02
  • js如何实现0ms延时定时器
    小编给大家分享一下js如何实现0ms延时定时器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!示例如下(function() { var&nbs...
    99+
    2023-06-20
  • js实现酷炫倒计时动画
    本文实例为大家分享了js实现酷炫倒计时动画的具体代码,供大家参考,具体内容如下 前段时间和朋友去音乐餐厅吃饭,中间有个活动,然后看到他们软件公众号H5有个活动开始的倒计时的动画效果,...
    99+
    2024-04-02
  • JS如何实现添加缓动画
    这篇文章主要介绍“JS如何实现添加缓动画”,在日常操作中,相信很多人在JS如何实现添加缓动画问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JS如何实现添加缓动画”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-07-02
  • p5.js如何实现小球动画
    这篇文章主要介绍p5.js如何实现小球动画,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、运动的小球本节将用p5.js做一个在屏幕上运动的小球。思路是用变量记录小球的位置,然后在d...
    99+
    2024-04-02
  • js如何实现打字动画游戏
    小编给大家分享一下js如何实现打字动画游戏,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!示例代码如下:<!DOCTYPE&...
    99+
    2024-04-02
  • js定时器如何实现倒计时效果
    这篇文章主要介绍了js定时器如何实现倒计时效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下日期函数倒计时 =  用 ...
    99+
    2024-04-02
  • js实现带翻转动画图片时钟
    本文实例为大家分享了js实现带翻转动画图片时钟的具体代码,供大家参考,具体内容如下 首先上图,先看效果 1、需求 根据当前系统时间来更改这个时钟,更改时间时,数字向上翻动,转成下一...
    99+
    2024-04-02
  • JS+div如何实现匀速移动动画与变速移动动画
    这篇文章将为大家详细讲解有关JS+div如何实现匀速移动动画与变速移动动画,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.匀速移动代码<!DOCTYPE ...
    99+
    2024-04-02
  • js如何通过Date对象实现倒计时动画效果
    小编给大家分享一下js如何通过Date对象实现倒计时动画效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!js通过Date对象实...
    99+
    2024-04-02
  • 利用JS定时器实现元素移动
    利用JS定时器做一个元素做一个有移动效果的方法,实现思路:首先声明一个变量存放元素距离左侧的边距,然后我们在声明一个变量存放每次元素需要移动的距离,然后再给这个方法一个完成时间就可以...
    99+
    2024-04-02
  • JS中如何实现offset和匀速动画
    这篇文章主要介绍了JS中如何实现offset和匀速动画,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。offset简介我们知道,三大家族包括:...
    99+
    2024-04-02
  • CSS 、JS如何实现浪漫流星雨动画
    这篇文章给大家分享的是有关CSS 、JS如何实现浪漫流星雨动画的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1,效果图2,源码HTML< body >  &nb...
    99+
    2023-06-08
  • js怎么实现带翻转动画图片时钟
    这篇文章主要讲解了“js怎么实现带翻转动画图片时钟”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“js怎么实现带翻转动画图片时钟”吧!首先上图,先看效果1、需求根据当前系统时间来更改这个时钟,...
    99+
    2023-06-30
  • JavaScript动画原理之如何使用js进行动画效果的实现
    目录前言1.动画原理2.动画函数的封装3.给不同元素添加定时器4.缓动动画原理5.给动画添加回调函数6.动画函数的使用写在最后前言 动画对于我们来说都不陌生,css里面就有很多动画,...
    99+
    2023-05-14
    js动画效果有哪些 js动画效果代码案例 javascript动画教程
  • 原生js实现页面滚动动画
    本文实例为大家分享了js实现页面滚动动画的具体代码,供大家参考,具体内容如下 需求: 1 页面滚动到对应板块,左侧对应的索引高亮2 点击左侧的索引,滚动到对应的板块 代码如下,直接...
    99+
    2024-04-02
  • css3如何实现小球滚动和js控制动画暂停
    这篇文章给大家分享的是有关css3如何实现小球滚动和js控制动画暂停 的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。CSS3 可以创建动画,它可以取代许多网页动画图像、Flas...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作