仅当在 JavaScript 中单击按钮时才激活预加载器

琼斯史密斯

我这里有一个按钮和预加载器的代码:

现在使用 JavaScript,我不想在页面首先加载时加载它。相反,当我点击提交按钮大约 2-3 秒时,我想加载这个预加载器。所以在我的 Javascript 上:

submitBtn.addEventListener('ciick', () => {
      window.addEventListener('load', function() {
        document.querySelector('body').classList.add("loaded")
      });
#loader-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
}

#loader {
  background-image: url('https://cdn3.iconfinder.com/data/icons/business-avatar-1/512/1_avatar-512.png');
  display: block;
  position: relative;
  top: 50%;
  left: 50%;
  width: 120px;
  height: 119px;
  margin: -75px 0 0 -75px;
  border-top-color: white;
  border-radius: 100%;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
  z-index: 1001;
}

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

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
<button type="submit" id="submit-btn">Submit</button>

<div id="loader-wrapper">
  <div id="loader"></div>
  <div class="loader-section section-left"></div>
  <div class="loader-section section-right"></div>
</div>

然而,这个没有用。相反,加载器会永远加载并且在我加载页面时永远不会停止。如何解决此问题并仅在单击按钮时达到加载状态?

爱知加西亚

如果您使用引导程序,则可以使用类。

submitBtn.addEventListener('click', () => {
    loader.classList.add('d-block');
    setTimeout(() => { 
        body.classList.add('loaded'); 
    }, 3000);
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

仅当在javascript中按下浏览器关闭(x)时,是否有任何条件可检测?

当在javascript中单击按钮时,使用路径名加载页面

仅当在名为Y的文件夹中时,才包含具有扩展名X的某些文件:忽略git中TypeScript生成的JavaScript文件

仅当在Laravel 5.2中输入字段时才验证

仅当在localhost上运行时才授权目录

仅当在Angular中的表单中输入数据时才提交表单

Raster:仅当在其他RasterLayer中不是NA时,才在RasterStack上进行计算

仅当在mysql查询中删除所有子级时,才检索父行

仅当在Woocommerce中应用了优惠券时才允许购买特定产品

仅当在 Woocommerce 中应用优惠券时才允许购买特定产品

仅当在php中扩展特定类时才允许将对象作为参数

仅当在数组A中找不到数组时才返回数组的键

仅当在iframe或灯箱中查看网站时,才添加某些CSS样式

当且仅当在vb.net 4中吗?

当在Javascript中单击子元素时,如何覆盖父事件侦听器?

仅当在模板驱动的表单 Angular 12 中单击编辑时,如何编辑表格行?

仅当在确认框中单击“确定”时,才能更改日期选择器文本框的值

仅当在引号内时,才用下划线替换空格

仅当在视图内点击时才选择表格单元格

当且仅当在同一天发布时,才显示彼此相邻的行

仅当在Django中将bool设置为true时,才进行显示

仅当在PHP循环期间值在特定组内时才打印出某些内容

图表:仅当在条形图内点击时,才获取选定的条形图数据

仅当在MYSQL中使用函数时才获取错误消息

仅当在try / except子句的范围内时,NoneType才不能下标错误

NSNumberFormatterCurrencyStyle,其中仅当在键盘上使用句点时才显示小数

仅当在Swing中选择了所有子节点时,才选择父节点

仅当在 Wordpress 中有子菜单时才显示菜单项

使用javascript单击时仅激活div子类