jQuery setIntervel,直到条件为真

时间:2020-05-19 06:56:49

标签: javascript jquery setinterval

页面加载后,我想每1秒钟检查一次条件,直到它变为true,然后终止该功能。我尝试了以下脚本,简单地将繁重的工作放在页面开始位置。

$(document).ready(function () {
  setInterval(function () {
    for (var i = 0; i < 1; ) {
      if ($(".showPrice").length) {
        console.log("yes");
        i = 1;
      } else {
        return false;
      }
    }
  }, 1000);
});

1 个答案:

答案 0 :(得分:0)

要清除interval,您需要引用间隔并将其传递给clearInterval(),只需将其分配给变量即可:

$(document).ready(function () {
  let interval = setInterval(function () {
    if ($(".showPrice").length) { 
      clearInterval(interval);
      console.log('Cleared!');
    }
  }, 1000);
  
  setTimeout(function(){
    $('.placeholder').html('<div class="showPrice">11.00 $</div>');
  }, 3000)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body>
  <div class="placeholder"></div>
</body>