循环比休息更重要?

2023-12-12

我想在用户单击我的按钮时执行简单的代码:

  1. 第一:将光标更改为“等待”
  2. 下一步:执行循环
  3. 循环完成后:将光标更改回“默认”

我写了这段代码:

HTML:

<button type="button" id="gogogo">Go!</button>

<div id="progress">0</div>

JS:

var progress = document.getElementById('progress');

document.getElementById('gogogo').onclick = (function(){
  document.body.style.cursor = 'wait';

  for(var ii = 0; ii < 30000; ii += 1){
    progress.textContent = ii;
  }

  document.body.style.cursor = 'default';

});

实时代码在这里:http://jsfiddle.net/4Bz27/2/

有什么地方不对劲。首先循环执行,然后发生光标变化。 是否可能或以任何方式与异步相关?


您正在执行阻塞操作。这肯定会在某些时候导致缓慢的脚本警告。您可以通过使循环异步来解决此问题:

var progress = document.getElementById('progress');

document.getElementById('gogogo').onclick = (function(){
    document.body.style.cursor = 'wait';

    var index = 0,
        updater;

    updater = function() {
        progress.textContent = index++;

        if (index < 30000) {
            setTimeout(updater, 50);
        } else {
            document.body.style.cursor = 'default';           
        }
    };

    updater();
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

循环比休息更重要? 的相关文章

随机推荐

  • 使用 xslt 排序对给定顺序进行排序

    我在用着
  • 从 Firebase 获取一个值并将其更新为当前值 + 1

    所以是的 标题有问题 一些信息 这是我的 Firebase 数据库的样子 这是当前的代码 export function updateQTY barcode database ref items barcode update qty cur
  • 如何检测无符号整数溢出?

    I was writing a program in C to find all solutions of ab c where a b and c together use all the digits 0 9 exactly once
  • 替换 pandas dataframe 列中的前 n 个元素

    我想更换第一个n我的数据框中的一列元素与我保存的另一个 pd series 举个例子 category price store testscore 0 Cleaning 11 42 Walmart NaN 1 Cleaning 23 50
  • R - 给定奥尔森时区的 UTC 到 LOCAL 时间

    我有 1974 2013 年的时间序列数据 其中有一列为 datetimeUTC YYYY MM DD hh mm 0000 一列为 Olson 格式的时区 例如 加拿大 太平洋 加拿大 东部 我可以将整个 UTCdatetime 列转换为
  • ListView WP8 中的增量加载

    我读过有关如何在滚动到列表视图底部时进行增量加载的文章 以及如何在滚动到列表顶部时实现延迟加载的文章 当用户到达顶部时 我想将更多项目添加到列表顶部 我们有什么办法可以实现这一目标吗 为此找到了解决方案 旋转两个控件 对于例如 gt
  • 2个php.ini文件

    我发现 当我在终端上输入以下内容时 php i grep php ini 我得到输出 加载的配置文件是 etc php5 cli php ini 然而 从phpinfo 我看到 加载的ini文件是 etc php5 apache2 php
  • Facebook API 限制

    我正在使用应用程序中的 Facebook Graph 和 FQL API 经过 OAuth 身份验证 我在文档中找不到有关速率限制 节流的任何内容 通常 我期望类 用户有某种限制 查看 Facebook 应用程序页面 Insigths gt
  • 如何使用node js将消息从Web服务器推送到浏览器

  • 为 Vaadin 8 Grid 实现列渲染器

    The 瓦丁框架指南有一个描述如何使用列渲染器的页面 in a 瓦丁网格 And 本页描述了渲染器的实现 但一切都太短暂了 我想实施一个InstantRenderer补充 Vaadin 8 1 中添加的部分 java time 渲染器集 添
  • Firebase RecyclerView:未连接适配器,跳过片段布局

    我有一个包含 3 个选项卡的 TabLayout 的活动 我正在尝试加载基于 Firebase 中的动态数据的 recyclerview 但 recyclerview 根本没有填充任何视图 我不确定它是否与 FragmentSectionP
  • 为什么在java中枚举被声明为 Enum> [重复]

    这个问题在这里已经有答案了 可能的重复 java 枚举定义 更好地表述问题 不被视为重复 如果 Enum 声明没有递归部分 Java 中会有什么不同 如果语言设计者简单地使用 Enum 这会对语言产生什么影响 现在唯一的区别是有人会写 A
  • 商业(付费)iPhone 应用程序是否必须向 Google 地图支付许可费用? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我知道商业网站会发生这种情况 所以我想知道使用 MapKit 的商业 iPhone 应用程序 尤其是那些产生大量流量的应用程序 是否也需要从 Google 地图获得任何类型的许可 我
  • 隐藏相机预览但仍收到预览回调

    我想在我的应用程序中显示过滤后的相机预览 我为此使用 Camera setPreviewCallback 我设法处理回调数据并在 OpenGL 视图中显示过滤后的图像 但我不知道如何隐藏原始相机预览并仍然接收预览回调 使表面视图 消失 或
  • Matlab 与 Mathematica,特征向量?

    function H calcHyperlinkMatrix M r c size M H zeros r c for i 1 r for j 1 c if M j i 1 colsum sum M 2 H i j 1 colsum j e
  • Expressjs bodyParser 和 connect-form

    我正在上传图像连接形式 但如果我使用它就不起作用bodyParser 相反 如果我不使用 bodyParser 我就无法上传文件 我怎样才能让他们一起玩 这是我的配置 app configure function app register
  • 防止 bash 脚本中的通配符

    我正在尝试编写一个对选定文件进行操作的脚本 bin bash ytest lastArgNo sPattern lastArgNo echo operating on sPattern do operation on sPattern fo
  • 与类加载相关的战争部署错误

    当我部署我的战争文件并运行它时 它会给出类似的错误 org springframework instrument classloading tomcat TomcatInstrumentableClassLoader Jan 6 2011
  • 将 ggplot 色阶渐变应用于部分数据

    我有一个关于应用 ggplot 的色阶渐变的问题 我有数据集 其中响应变量是连续变量 包括正数和负数 自变量是许多独立站点 我试图以这样的方式绘制数据 以便可以在背景中绘制所有数据 然后将色阶渐变应用于覆盖数据负范围的响应数据 这是迄今为止
  • 循环比休息更重要?

    我想在用户单击我的按钮时执行简单的代码 第一 将光标更改为 等待 下一步 执行循环 循环完成后 将光标更改回 默认 我写了这段代码 HTML