zoukankan      html  css  js  c++  java
  • delay(和setTimeout()的区别

    近来几日在写游戏代码时,频繁会用到定时器,偶尔想到有个.delay()方法,用了几次发现两者效果相差很大,遂就两者的区别仔细考究了一下!

    1. setTimeout函数是从页面开始的时候计算time的

    2. JQuery提供的delay函数,如果已经对某一个元素调用用.delay(time)的话,那么如果你在程序后面再次调用.delay(time2),那么这个元素的第二次delay后的执行操作的时间就是从time + time2。

    在控制动画链的执行顺序的时候如果用记录delay时间来控制,后续对同个元素进行操作的时候就会出现计算时间不容易的情况。比如:

    先控制一组div按顺序fadeIn,然后第二组div按序fadeIn,两组的元素个数不一定相同。

    然后又要对第一组里的div按序animate。这样的情况用delay就比较麻烦,用setTimeout就容易控制的多,只要对每次的delay增加就是了。

    setTimeout函数还有个问题就是在循环里如果使用到了循环里的参数的话,会出现每次循环的setTimeout函数的参数都是同个值。

    这里有说明http://yeak2001.iteye.com/blog/430522

    有个办法就是再分装一个函数

    如这里提到的,再写一个doSettimeout(i)函数,用i来传参就不会出现这个问题了。

    这里有写→http://stackoverflow.com/questions/5226285/settimeout-in-a-for-loop-and-pass-i-as-value

  • 相关阅读:
    记录。短信网关.
    TP 笔记~
    FUCK IE FLASH(inline hook)
    API HOOK(MessageBoxA)
    inline hook MessageBox(2)
    c#线程中使用 dataset
    匈牙利算法解决二分图最大匹配
    C#:Array类的排序
    C#:属性
    C#:结构
  • 原文地址:https://www.cnblogs.com/AinyTong/p/6240220.html
Copyright © 2011-2022 走看看