我正在使用 javascript 来完成一个有时需要很长时间才能完成的命令,但是当我单击按钮时,按钮保持按下状态并且在 javascript 执行完成之前不会更新屏幕。我需要知道如何在执行 javascript 时继续更新屏幕,因为我想在执行 javascript 时显示一个加载器。
代码:jsFiddle 代码
我正在使用 javascript 来完成一个有时需要很长时间才能完成的命令,但是当我单击按钮时,按钮保持按下状态并且在 javascript 执行完成之前不会更新屏幕。我需要知道如何在执行 javascript 时继续更新屏幕,因为我想在执行 javascript 时显示一个加载器。
代码:jsFiddle 代码
使用 jQuery。jQuery.click 将获得一个点击操作,然后使用 jQuery 的切换和一个在 click 函数中包含加载 gif 的 div。
图像不显示,因为浏览器仅在当前 Javascript 堆栈结束后才会进行重绘/重绘。
您可以做的是显示加载程序并setTimeout
在重绘发生后使用 a 调用您的重处理函数。
请注意,如果您的函数执行同步操作,例如小提琴中的for
循环100000000
时间,您的浏览器将忙于处理它以动画加载图像(然后您将拥有一个静态图像)。
onclick="show_loader(); setTimeout(fn, 100);"