1

我正在使用 javascript 来完成一个有时需要很长时间才能完成的命令,但是当我单击按钮时,按钮保持按下状态并且在 javascript 执行完成之前不会更新屏幕。我需要知道如何在执行 javascript 时继续更新屏幕,因为我想在执行 javascript 时显示一个加载器。

代码:jsFiddle 代码

4

2 回答 2

1

使用 jQuery。jQuery.click 将获得一个点击操作,然后使用 jQuery 的切换和一个在 click 函数中包含加载 gif 的 div。

于 2012-08-19T23:05:05.073 回答
1

图像不显示,因为浏览器仅在当前 Javascript 堆栈结束后才会进行重绘/重绘。

您可以做的是显示加载程序并setTimeout在重绘发生后使用 a 调用您的重处理函数。

请注意,如果您的函数执行同步操作,例如小提琴中的for循环100000000时间,您的浏览器将忙于处理它以动画加载图像(然后您将拥有一个静态图像)。

onclick="show_loader(); setTimeout(fn, 100);"

小提琴

于 2012-08-19T23:10:22.717 回答