【问题标题】:javascript button on click show loader单击显示加载程序上的 javascript 按钮
【发布时间】:2012-08-19 22:58:50
【问题描述】:

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

代码:jsFiddle code

【问题讨论】:

    标签: javascript button loader


    【解决方案1】:

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

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

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

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

    Fiddle

    【讨论】:

    • @Cameron 没问题。 =]我现在将超时时间增加到 0.1 秒,因为它在我的 Nightly 17 上没有正确显示,至少现在它在处理发生之前稍微对图像进行了动画处理。你可以稍微增加一点,比如半秒 @987654328 @ 如果你愿意,可以给你一种加载的感觉。 :)
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-03
      • 2020-01-30
      • 1970-01-01
      相关资源
      最近更新 更多