clearinterval在我的js代码中不起作用

wecizke3  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(446)

我花了很长时间试图弄明白这一点。我知道在线和stackoverflow上有多个问题可以解决这个问题,我在我的案例中尝试了完全相同的方法,但是我似乎遇到了clearinterval不起作用的问题。
我的代码:

<div class="row">
    <button type="button" class="btn btn-secondary" onclick="FlashText()">Flash</button>
        <span style="font-size:14px; font-weight:bold;" id="showText">Flash Text</span>
    </div>

js:

function FlashText()
 {
      var timer = setInterval(blink_text,1000);

      $.ajax({

           url: some url,
           success: function(){
                $('#showText').text("Other Text");
               clearInterval(timer);

           }
      })
 }

function blink_text()
  {
      $('#showText').fadeOut(750);
      $('#showText').fadeIn(750);
  }

我点击按钮,我看到文本正在闪烁。成功后,我用 Debugger;timer 它显示的值为 19 . 我穿过这条线,什么也没发生。
正文改为 Other Text 它一直在闪烁。
我在开发者工具中查看了控制台,没有任何错误。我知道 timer 不在范围之外,因为我在同一个函数中使用它。一切似乎都和它应该做的一模一样。但它并没有起作用。可能是什么问题?
目标是保持文本闪烁,直到我得到 Success 从我的 ajax 在这种情况下,我想将文本更改为 Other Text 然后停止淡出/淡出。

mmvthczy

mmvthczy1#

使用css使文本闪烁会容易得多

.blink_me {
  animation: blinker 1s linear infinite;
 }

然后添加和删除类

function FlashText()
{
  $('#showText').addClass(‘blink_me’);

  $.ajax({

       url: some url,
       success: function(){
            $('#showText').reomveClass(‘blink_me’).text("Other Text");         
       }
  })

}

相关问题