【发布时间】:2013-01-17 06:16:12
【问题描述】:
假设我有这个 javascript 函数:
function pauseComp(ms) {
var date = new Date();
var curDate = null;
do { curDate = new Date(); }
while(curDate-date < ms);
}
和一个 css3 动画(例如,来自新 font-awesome 3 的 <i class="icon-spinner icon-spin"></i>)。当我运行上面的 javascript 函数时,它会在函数运行时停止微调器。 看看我在说什么here。基本上,javascript 会停止 css 动画,我想知道为什么,或者是否有人注意到这一点/找到了解决方法。我试过把它放在 setTimeout(fn,0) 中,其中 fn 是长进程,但后来意识到为什么这也不起作用(js 不是多线程的)。有人见过这种情况吗?
更新:有趣的是,这在 Safari 中似乎不是什么大问题,尽管与浏览器界面的交互仍然受到影响。
【问题讨论】:
-
您需要将“长时间运行的代码”分解成块,以允许其他所有操作继续进行。
-
对,虽然我知道这会解决它,但对于我试图应用它的功能来说,这不是一个可行的解决方案。这些功能不能分解成更小的块。我真的在检查是否有人对上述确切问题有解决方案,同样,不能分解。
标签: javascript jquery css-animations