网站地图 | RSS订阅 老铁博客 - 上海SEO优化|上海网站建设|蜘蛛池出租|站群代搭建
你的位置:首页 » 前端脚本 » 正文

settimeinterval,settimeinterval 应用.txt

2020-2-25 14:39:31 | 作者:老铁SEO | 0个评论 | 人浏览

  因为setTimeout(表达式,延时时间)在执行时,是在载入后延迟指定时间后,去执行一次表达式,记住,次数是一次


  而setInterval(表达式,交互时间)则不一样,它从载入后,每隔指定的时间就执行一次表达式


  所以,完全是不一样的


  很多人习惯于将setTimeout包含于被执行函数中,然后在函数外再次使用setTimeout来达到定时执行的目的


  这样,函数外的setTimeout在执行函数时再次触发setTimeout从而形成周而复始的定时效果


  使用的时候各有各的优势,使用setInterval,需要手动的停止tick触发。而使用方法中嵌套setTimeout,可以根据方法内部本身的逻辑不再调用setTimeout就等于停止了触发。


  其实两个东西完全可以相互模拟,具体使用那个,看当时的需要而定了。就像for可以模拟所有的循环包括分支,而还提供了do、while一样。


  //每60秒执行myFunction()一次


  setInterval("myFunction()",60000);


  funcitionmyFunction(){


  alert(’myFunction()’);


  }


  //每60秒执行一次myFunction()


  setTimeout("myFunction()",60000);//需要函数触发


  //如放置在body的onload事件里面


  settimeinterval重复调用


  一般出现这种情况都是因为重复注册了setInterval,比如在某个事件的相应函数中创建setInterval,再次触发该事件的时候又注册了setInterval。


  建议在setInterval代码的前面先清除一次。


  这是因为alert弹出的是系统级的模态窗口,它弹出后当前程序就会被挂起,包括正在进行(但尚未完成)的输出操作,这样就会出现要关闭alert框才能看到输出结果的情况。


  其实在setInterval中最好不要使用alert,可以自己做一个漂浮层来输出信息,这样就可保证程序不会被强行卡住。


  如果一定要用alert,那么可以让它延时执行,比如


  setTimeout('alert("执行完毕");',500);

  • 本文来自: 老铁博客,转载请保留出处!欢迎发表您的评论
  • 相关标签:
  • 已有0位网友发表了一针见血的评论,你还等什么?

    必填

    选填

    记住我,下次回复时不用重新输入个人信息

    必填,不填不让过哦,嘻嘻。

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

    相关推荐