为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 setInterval 函数中最后放置文本?

如何在 setInterval 函数中最后放置文本?

守着星空守着你 2021-11-12 10:52:18
我想最后在一个使用 的函数中放置一个文本setInterval,但我不能这样做,代码如下- function checkInIntervals(howManyTimes, howOften)  {     var T = window.open("", "MsgWindow","width=400,height=600");      var counter = 0;      var interval = setInterval(function()      {         T.document.title = 'MIKE!'; counter++;         if (counter === howManyTimes)         {             clearInterval(interval);         }         // do something         T.document.write('Where are you?');         T.document.write("<br/>");         console.log(counter, 'iteration');      }, howOften)    T.document.write('This text needs to be placed last.');//problem     T.document.write("<br/>");    T.document.close(); // problem}checkInIntervals(3, 1000);在这里,T.document.write('This text needs to be placed last.');首先出现,然后由于 消失T.document.close();,但我需要“此文本需要放在最后”。最后,我还需要在T.document.close();每次运行该函数时都需要新窗口而没有以前的文本。我怎样才能做到这一点?
查看完整描述

2 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

在检查计数器的 if 中添加您最后想要做的事情。


这是一个工作示例:https : //jsfiddle.net/mvhL9ct2/1/


JS:


function checkInIntervals(howManyTimes, howOften) {

  var T = window.open("", "MsgWindow", "width=400,height=600");

  var counter = 0;

  var interval = setInterval(function() {

      T.document.title = 'MIKE!';

      counter++;

      // do something 

      T.document.write('Where are you?');

      T.document.write("<br/>");


      if (counter === howManyTimes) {

        T.document.write('This text needs to be placed last.');

        T.document.write("<br/>");

        clearInterval(interval);

      }


      console.log(counter, 'iteration');

    },

    howOften)


  T.document.close(); // problem

}

checkInIntervals(3, 1000);


查看完整回答
反对 回复 2021-11-12
?
守候你守候我

TA贡献1802条经验 获得超10个赞

文本T.document.write('This text needs to be placed last.')首先出现,因为传递给的函数setInterval不会立即执行。setTimeout被调用后继续执行,该函数之后的下一个命令是T.document.write('This text needs to be placed last.')


为了使这个文本最后你应该把它放在clearInterval函数之前


function checkInIntervals(howManyTimes, howOften) {

    var T = window.open("", "MsgWindow","width=400,height=600"); 

        var counter = 0; 

    var interval = setInterval(function() { 

      T.document.title = 'MIKE!'; counter++; 

      // do something 

      T.document.write('Where are you?'); 

      T.document.write("<br/>");


      if (counter === howManyTimes) { 

        T.document.write('This text needs to be placed last.'); 

        T.document.write("<br/>");

        clearInterval(interval);

        return; 

      } 


      console.log(counter, 'iteration'); }, 

    howOften)


    T.document.close(); // problem

}

checkInIntervals(3, 1000);



查看完整回答
反对 回复 2021-11-12
  • 2 回答
  • 0 关注
  • 141 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信