如何在进行强烈计算时保持GIF动画运行

Set*_*gie 17 javascript browser window animated-gif

我有一个页面,它在Javascript中执行一些强烈而持久的计算.我想有一个加载动画来告诉用户正在取得进展.我现在有一个GIF动画,但是当Javascript运行时,整个浏览器窗口会冻结(并且gif不会播放).然后当它完成时,它会解冻.计算必须是客户端,因此无法在服务器上完成.

有没有办法让Javascript冻结页面并在进行计算时停止播放动画?

Mri*_*ria 12

您还可以使用HTML5 webworkers(Wikipedia)在后台运行长时间运行的脚本.这就像javascript的多线程一样.

它将在IE以外的最新浏览器中使用.

找到一个使用webworkers的游戏检查出来


ste*_*ewe 5

您可以将工作分成小块,并使用setTimeoutto开始下一次迭代,一旦完成第一次,浏览器就有机会更新用户界面.(这是因为浏览器使用一个单独的线程,所以如果忙于执行js则不能执行其他操作)