【问题标题】:How to create a loader in Javascript waiting for a function to end?如何在等待函数结束的Javascript中创建加载器?
【发布时间】:2017-02-06 08:07:32
【问题描述】:

我有一个 Javascript 函数(在浏览器中,而不是 node.js),它需要很长时间才能提交。我希望在处理函数时,浏览器会显示一个加载器,这样用户就可以理解他/她必须等待。

【问题讨论】:

  • 这对您的最终用户来说是件好事——您是如何尝试自己解决这个难题的?任何简单的重新搜索
  • 我尝试通过 $(window).onload(functino() { ... } 使用 onload() 函数,但出现错误:“upload.js:172 Uncaught TypeError: $(. ..).onload 不是函数”

标签: javascript loader


【解决方案1】:

首先创建一个加载器:

<div class="loader" id="loader">
</div>

然后在你的 CSS 中添加加载器类(加载器类的 css 文件):

 .loader {
    border: 16px solid #f3f3f3; /* Light grey */
    border-top: 16px solid #3498db; /* Blue */
    border-radius: 50%;
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite;
 }

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.hide-loader{
display:none;
}

在你的函数完全执行后,将此js代码添加到你的JS文件中,只需隐藏加载器即可。

     $('#loader').addClass("hide-loader");

【讨论】:

  • 好答案,谢谢
  • @Aboopallikara :-)
【解决方案2】:

我在没有创建 div 和样式表的情况下将其更改为完整的 vanilla js。 https://github.com/AmagiTech/JSLoader

<p>asd sadasdasdasdasda</p>
<script src="https://cdn.jsdelivr.net/gh/AmagiTech/JSLoader/amagiloader.js"></script>
<script>
 AmagiLoader.show();
 setTimeout(() => {
    AmagiLoader.hide();
 }, 3000);
</script>

【讨论】:

    猜你喜欢
    • 2023-03-05
    • 2019-01-31
    • 1970-01-01
    • 2021-01-23
    • 2023-03-21
    • 1970-01-01
    • 2018-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多