2012-12-12 69 views
0

我想延迟一秒后运行一个函数,setTimeout在浏览器上工作,但在ipad上,它有时只是完全跳过这个函数,也许它不能同时运行几个setTimeout,因为我有很多其他的超时函数,setTimeout的正确选择是什么?setTimeout alternative

that.movepictimer = setTimeout(function(){ 
        for(i=1;i<that.pic.length;i++){ 
         if(that.$pic[i]!=null && that.$pic[i]!=undefined){ 
          css_translate(f,that.$pic[i],that.picleft,0,i); 
         } 
        } 
       },1000) 
+8

尝试在'for(var i = 1; ...)'中声明''为'var'的局部变量。在你的代码'我'是全球性的,可能会导致问题... – elclanrs

+0

它与jQuery有什么关系? – mpm

+0

我一直以为我在for循环是本地的...... – FatDogMark

回答

0

Javascript不是多线程的,所以setTimeout和setInterval方法在某些时候不保证执行。尝试使用Chrome Javascript CPU分析器查找代码中的性能问题。