javascript-js中有段代码不理解,只有3行的,可能是用来让setTimeout的时间更加精准的,求大神鉴定

问题描述

js中有段代码不理解,只有3行的,可能是用来让setTimeout的时间更加精准的,求大神鉴定
 function animate() {
            var start = +new Date();
            //其他的语句
            var finish = +new Date();
            //请问这里为什么要减去(finish-start)
            setTimeout(animate, 1000 - (finish-start));

        }

解决方案

每一个动画本身也需要时间,这样做使得动画播放的周期正好是1秒,当然不可能很精确。

解决方案二:

1.每个动画以1秒为单位执行;
2.finish-start -> 可以理解为一个动画从开始到结束的时间,从代码看,一般每个动画完成的时间会少于1秒;
3.为了在单位时间(1秒)内完成动画,那么就要进行延迟执行动画,延迟多长时间呢?那就是1秒减掉执行过程要耗费掉的时间,就是我要执行动画的时间。

总结: 延迟时间 + 动画执行时间 == 1秒

解决方案三:

每个周期等于 定时器的周期+执行定时器的周期

解决方案四:

其实没什么实际意义,这里没啥差别,除非中间有一堆其他逻辑

时间: 2024-08-30 17:55:30

javascript-js中有段代码不理解,只有3行的,可能是用来让setTimeout的时间更加精准的,求大神鉴定的相关文章

arraylist-如下代码,循环打印出来为什么remove掉了4,而不是remove掉了3,求大神解释。

问题描述 如下代码,循环打印出来为什么remove掉了4,而不是remove掉了3,求大神解释. List list=new ArrayList(); list.add(new ForTest("1")); list.add(new ForTest("2")); list.add(new ForTest("3")); list.add(new ForTest("4")); list.add(new ForTest("

java代码-请问这个c语言版的理发师问题,怎么改成java版的?,求大神赐教,感激不尽!!

问题描述 请问这个c语言版的理发师问题,怎么改成java版的?,求大神赐教,感激不尽!! #include #include #define random (rand()*10000)/RAND_MAX //用来产生随机数 main() { int chairs; //普通椅子数 int customers=0; //顾客数 int count=0; //循环中用来计量的 int waiting=0; //等候理发的人数 int finish=0; //已经理完发的人数 int work=0;

求解 为什么运行一下代码时总是出现“ExecuteReader: CommandText 属性尚未初始化”这样的问题,请问是什么原因,求大神解答?

问题描述 usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Data;usingSystem.Data.SqlClient;publicpartialclass_Default:System.Web.UI.Page{protectedvoidbtnLogin_Click(

求大神给段shopnc wap端整合微信登录的完整代码,小弟在此感谢

问题描述 求大神给段shopnc wap端整合微信登录的完整代码,小弟在此感谢 新人小白,最近在学习微信开发和shopnc开发,求大神们给段shopnc wap端微信登录的代码,在此先拜谢了 解决方案 没有代码自己上网找现在微信火,网上有很多

android adb-查看adb 源码有小段代码不理解

问题描述 查看adb 源码有小段代码不理解 在查看adb源码的时候,在system/core/adb/adb_client.c下的int adb_connect(const char *service)中有如下代码 if (_adb_server_name) 191 fd = socket_network_client(__adb_server_name, adb_server_port,SOCK_STREAM); 192 else 193 fd = socket_loopback_client

求大神帮助帮忙看一下这一段javascript代码问题

问题描述 求大神帮助帮忙看一下这一段javascript代码问题 var _hmt = _hmt || [];(function() { var hm = document.createElement(""script ""); hm.src = ""//hm.baidu.com/hm.js?5eb7a95a1a0d26c6eb4960fba4a63ee7 ""; var s = document.getElementsByT

求大神用通俗语言解析下这个javascript代码以及JS中原型的具体作用。

问题描述 求大神用通俗语言解析下这个javascript代码以及JS中原型的具体作用. window.onload=function () { var oTab=new TabSwitch('div1'); }; function TabSwitch(id) { var oDiv=document.getElementById(id); this.aBtn=oDiv.getElementsByTagName('input'); this.aDiv=oDiv.getElementsByTagNam

java中下面这段代码怎么理解?

问题描述 java中下面这段代码怎么理解? class Connection { private static int count = 0; private int i = 0; private Connection() { System.out.println("Connection()");} // Allow creation via static method: static Connection makeConnection() { count++; return new C

jquery-见鬼,太奇怪了,求大神解答这段js代码怎么得不到预期结果。

问题描述 见鬼,太奇怪了,求大神解答这段js代码怎么得不到预期结果. 本来要写一个滚动条到底部自动加载的功能,if里面的判断表达式结果确实是true但是if里面的代码被执行5次.设置全局变量,return false.....都没法解决这个问题.求js大神解答.该怎么写才合适. $(window).scroll(function(){ if (($(document).height())==($(window).height()+$(document).scrollTop())) { alert