Javascript 显示微调器onclick

Javascript 显示微调器onclick,javascript,bootstrap-4,Javascript,Bootstrap 4,我构建了一个微调器并用CSS设置了动画,现在我正试图隐藏微调器并在单击按钮时显示它。到目前为止,我已经编写了这段代码,当我单击submit按钮时,它没有显示出来 我用display:none隐藏了微调器,并尝试使用JavaScript将其更改为display:block,但它不起作用 CSS: JavaScript: HTML: 我是新来的,所以我想我应该在这里得到一些指针。如果你想给微调器添加样式,你必须得到函数getElementsByClassName返回的第一个元素 GetElement

我构建了一个微调器并用CSS设置了动画,现在我正试图隐藏微调器并在单击按钮时显示它。到目前为止,我已经编写了这段代码,当我单击submit按钮时,它没有显示出来

我用display:none隐藏了微调器,并尝试使用JavaScript将其更改为display:block,但它不起作用

CSS:

JavaScript:

HTML:


我是新来的,所以我想我应该在这里得到一些指针。

如果你想给微调器添加样式,你必须得到函数getElementsByClassName返回的第一个元素

GetElementsByCassName返回一个列表,其中包含具有该特定类的元素

getElementById返回一个具有给定Id的元素

我建议在您的情况下,给加载程序一个ID并执行getElementById。 但如果要使用GetElementsByCassName,可以执行以下操作:

document.getElementsByClassName("loader")[0].style.display = "block";
这是一个正在工作的spinet:

* { 保证金:0; 填充:0; } .加载器{ 显示:无; 最高:50%; 左:50%; 位置:绝对位置; 转化:转化-50%,-50%; } .装货{ 边框:2个实心ccc; 宽度:60px; 高度:60px; 边界半径:50%; 边框顶部颜色:1ecd97; 左边框颜色:1ecd97; 动画:旋转1s无限轻松; } @关键帧旋转{ 0% { 变换:旋转0度; } 100% { 变换:旋转360度; } } 登录 函数微调器{ document.getElementsByClassNameloader[0].style.display=block; }
如果要向微调器添加样式,必须获取函数getElementsByClassName返回的第一个元素

GetElementsByCassName返回一个列表,其中包含具有该特定类的元素

getElementById返回一个具有给定Id的元素

我建议在您的情况下,给加载程序一个ID并执行getElementById。 但如果要使用GetElementsByCassName,可以执行以下操作:

document.getElementsByClassName("loader")[0].style.display = "block";
这是一个正在工作的spinet:

* { 保证金:0; 填充:0; } .加载器{ 显示:无; 最高:50%; 左:50%; 位置:绝对位置; 转化:转化-50%,-50%; } .装货{ 边框:2个实心ccc; 宽度:60px; 高度:60px; 边界半径:50%; 边框顶部颜色:1ecd97; 左边框颜色:1ecd97; 动画:旋转1s无限轻松; } @关键帧旋转{ 0% { 变换:旋转0度; } 100% { 变换:旋转360度; } } 登录 函数微调器{ document.getElementsByClassNameloader[0].style.display=block; }
如果没有完整的html代码,就很难解释loader类的用途

<div id="spinner" class="loading">
</div>
<button type="submit" class="sbtn btn btn-secondary btn-c" 
onclick="spinner()" >Log in</button>


<style type="text/css">

    #spinner {
        display: none;
    }

    .loading {
        border: 2px solid #ccc;
        width: 60px;
        height: 60px;
        border-radius: 50%;
        border-top-color: #1ecd97;
        border-left-color: #1ecd97;
        animation: spin 1s infinite ease-in;
    }

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

<script type="text/javascript">
    function spinner() {
        document.getElementById("spinner").style.display = "block";
    }
</script>


这种方法是有效的,我已经在微调器图像中添加了一个微调器ID,并让它不显示任何内容。然后单击按钮,将显示设置为阻塞。

如果没有完整的html代码,甚至很难解释loader类的用途

<div id="spinner" class="loading">
</div>
<button type="submit" class="sbtn btn btn-secondary btn-c" 
onclick="spinner()" >Log in</button>


<style type="text/css">

    #spinner {
        display: none;
    }

    .loading {
        border: 2px solid #ccc;
        width: 60px;
        height: 60px;
        border-radius: 50%;
        border-top-color: #1ecd97;
        border-left-color: #1ecd97;
        animation: spin 1s infinite ease-in;
    }

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

<script type="text/javascript">
    function spinner() {
        document.getElementById("spinner").style.display = "block";
    }
</script>


这种方法是有效的,我已经在微调器图像中添加了一个微调器ID,并让它不显示任何内容。然后单击按钮,将显示设置为块。

您没有告诉我们要在何处添加我创建的微调器,其中将包含微调器的动画,如下所示:

HTML:

JavaScript:

看看这个


我建议您不要在HTML上使用。

您没有让我们知道要在何处添加微调器,因此我创建了一个包含微调器动画的微调器,如下所示:

HTML:

JavaScript:

看看这个

我建议您不要在HTML上使用。试试这种方法

试试这个方法


我没有看到喷丝头上的loader类你是什么意思Zim?你知道什么document.getElementsByClassNameloader.style.display=block;做它正在寻找class=loader的元素我在喷丝头上没有看到loader类你是什么意思Zim?你知道什么document.getElementsByClassNameloader.style.display=block;做它正在寻找class=loader的元素这对我来说很有用,我终于明白了Js Cool中class和id之间的区别。@slimderek很高兴它有帮助。如果这解决了您的问题,请在复选框中标记为已接受答案,以便其他人知道问题已解决。祝你的项目好运。这对我很有用,我终于明白了Js Cool中类和ID之间的区别。@slimderek很高兴它有帮助。如果这解决了您的问题,请在复选框中标记为已接受答案,以便其他人知道问题已解决。祝您的项目好运。我看到ID在JavascriptI中似乎比类更好。我看到ID在Javascript中似乎比类更好
<div id="spinner" class="loading">
</div>
<button type="submit" class="sbtn btn btn-secondary btn-c" 
onclick="spinner()" >Log in</button>


<style type="text/css">

    #spinner {
        display: none;
    }

    .loading {
        border: 2px solid #ccc;
        width: 60px;
        height: 60px;
        border-radius: 50%;
        border-top-color: #1ecd97;
        border-left-color: #1ecd97;
        animation: spin 1s infinite ease-in;
    }

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

<script type="text/javascript">
    function spinner() {
        document.getElementById("spinner").style.display = "block";
    }
</script>

<button type="submit" id="btn" class="sbtn btn btn-secondary btn-c">Log in</button>

<div class='spinner-displayer'></div>
* {
  margin: 0;
  padding: 0;
}

.loader {
  display: none;
  top: 50%;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
}

.loading {
  border: 2px solid #ccc;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border-top-color: #1ecd97;
  border-left-color:  #1ecd97;
  animation: spin 1s infinite ease-in;
}

@keyframes spin {
  0% {
      transform: rotate(0deg);
  }
  100% {
      transform: rotate(360deg);
  }
}
function spinner() {
    const spinnerDisplayer = document.querySelector('.spinner-displayer');
    const btn = document.getElementById('btn');

    btn.addEventListener('click', () => {
    spinnerDisplayer.classList.add('loading');
  })
}

spinner();
<div style="margin:3em;">
<button type="button" class="btn btn-primary btn-lg " id="load" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Processing Order">Submit Order</button>
<br>
  <br>
<button type="button" class="btn btn-primary btn-lg" id="load" data-loading-text="<i class='fa fa-spinner fa-spin '></i> Processing Order">Submit Order</button>



$('.btn').on('click', function() {
    var $this = $(this);
  $this.button('loading');
    setTimeout(function() {
       $this.button('reset');
   }, 8000);
});

</div>