js实现持续的动画

本文探讨如何使用JavaScript实现持续动画,对比了setInterval和requestAnimationFrame两种方法。requestAnimationFrame通过与显示器刷新频率同步,实现了更节省资源且流畅的动画效果,尤其在页面非活动时自动暂停,降低了系统负担。
摘要由CSDN通过智能技术生成
利用setInterval实现

采用定时器实现

window.onload=function()
{
 var mydiv=document.getElementById("mydiv");
 var start=document.getElementById("start");
 var stopmove=document.getElementById("stopmove");
 var x=0;
 var flag;//标志
 function move()//移动动画
 {
  x=x+1;
  mydiv.style.left = ((time - startTime) / 10) % 300 + 'px'
 }
 start.onclick=function()//开始动画
 {
  clearInterval(flag);
  flag=setInterval(move,20);
 }
 stopmove.onclick=function()//停止动画
 {
  clearInterval(flag);
 }    
}
利用requestAnimationFrame

requestAnimationFrame是浏览器用于定时循环操作的一个接口,类似于setTimeout,主要用途是按帧对网页进行重绘。
requestAnimationFrame的优势,在于充分利用显示器的刷新机制,比较节省系统资源。显示器有固定的刷新频率(60Hz或75Hz),也就是说,每秒最多只能重绘60次或75次,requestAnimationFrame的基本思想就是与这个刷新频率保持同步,利用这个刷新频率进行页面重绘。此外,使用这个API&#x

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值