在javascript中设置计时器后更改文本

在javascript中设置计时器后更改文本,javascript,php,Javascript,Php,我需要一些帮助我的代码,因为我有一个问题,改变文本,而我设置计时器。当我点击一个按钮时,它将禁用该按钮,并在我启动计时器3秒钟时更改文本,然后启用它并将文本更改回原来的位置 当我尝试这个: <button name="btn1" id="btn1" type="submit" class="btn btn-primary btn-block button-size">Click Here!</button> <script type="text/javascrip

我需要一些帮助我的代码,因为我有一个问题,改变文本,而我设置计时器。当我点击一个按钮时,它将禁用该按钮,并在我启动计时器3秒钟时更改文本,然后启用它并将文本更改回原来的位置

当我尝试这个:

<button name="btn1" id="btn1" type="submit" class="btn btn-primary btn-block button-size">Click Here!</button>

<script type="text/javascript">
$('#btn1').click(function(){
    document.getElementById("btn1").innerHTML = "<span><i class=\'fa fa-spinner fa-spin\'></i> Loading</span>";

    document.getElementById('btn1').disabled = true;
    setTimeout(function(){
    document.getElementById('btn1').disabled = false;
    }, 3000);

    if(document.getElementById("btn1").disabled == true)
    {
        document.getElementById("btn1").innerHTML = "Click Here again!";
    }

});
</script>
我还是有同样的问题。我试图找到答案,但在任何地方都找不到

你能给我举个例子吗?当我点击一个按钮启动计时器3秒钟后,我如何将文本更改回原来的位置,禁用按钮并更改文本直到计时器结束,这样我就可以将文本更改回原来的位置


谢谢。

您必须将文本更改回设置超时回调:

纯香草JS(编辑)

const b=document.getElementById('b');
b、 addEventListener('单击',函数()){
让prev=b.innerHTML;
b、 innerHTML='Wait';
b、 禁用=真;
setTimeout(函数(){
b、 禁用=错误;
b、 innerHTML=prev;
}, 3000);
});

单击
您可以在超时回调中设置按钮的文本。下面是一个纯javascript实现:

<button
  name="btn1"
  id="btn1"
  type="submit"
  class="btn btn-primary btn-block button-size"
>
  Click Here!
</button>

<script type="text/javascript">
  const btn = document.getElementById("btn1");
  btn.onclick = function(e) {
    btn.innerHTML =
      "<span><i class='fa fa-spinner fa-spin'></i> Loading</span>";
    btn.disabled = true;
    setTimeout(() => {
      btn.disabled = false;
      btn.innerText = "Click here again!";
    }, 3000);
  };
</script>

点击这里!
const btn=document.getElementById(“btn1”);
btn.onclick=函数(e){
btn.innerHTML=
“装载”;
btn.disabled=true;
设置超时(()=>{
btn.disabled=false;
btn.innerText=“再次单击此处!”;
}, 3000);
};
<button
  name="btn1"
  id="btn1"
  type="submit"
  class="btn btn-primary btn-block button-size"
>
  Click Here!
</button>

<script type="text/javascript">
  const btn = document.getElementById("btn1");
  btn.onclick = function(e) {
    btn.innerHTML =
      "<span><i class='fa fa-spinner fa-spin'></i> Loading</span>";
    btn.disabled = true;
    setTimeout(() => {
      btn.disabled = false;
      btn.innerText = "Click here again!";
    }, 3000);
  };
</script>