通过浏览器窗口焦点事件,清掉定时器

window.onfocus=function(){timer=setInterval(autoRun,1000);
}window.onblur=function(){clearInterval(timer);
}

项目中使用setInterval的时候有时候不执行,估计是由于连续调用产生互相干扰,导致定时器不执行,这种的可以使用setTimeout循环调用

showTime();function showTime(){var today = new Date();alert("The time is: " + today.toString());setTimeout("showTime()", 5000);}

一旦调用了这个函数,那么就会每隔5秒钟就显示一次时间。如果使用setInterval,则相应的代码如下所示:

setInterval("showTime()", 5000);function showTime(){var today = new Date();alert("The time is: " + today.toString());}

这两种方法可能看起来非常像,而且显示的结果也会很相似,不过两者的最大区别就是,setTimeout方法不会每隔5秒钟就执行一次showTime函数,它是在每次调用setTimeout后过5秒钟再去执行showTime函数。这意味着如果showTime函数的主体部分需要2秒钟执行完,那么整个函数则要每7秒钟才执行一次。而setInterval却没有被自己所调用的函数所束缚,它只是简单地每隔一定时间就重复执行一次那个函数。

如果要求在每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval,而如果不想由于连续调用产生互相干扰的问题,尤其是每次函数的调用需要繁重的计算以及很长的处理时间,那么最好使用setTimeout。

有充分的理由要避免setInterval-尤其是在某些情况下,整个setInterval事件负荷可以彼此紧接着立即到达而没有任何延迟。另一个原因是,如果要停止循环,则必须显式调用clearInterval,这意味着必须记住原始setInterval调用返回的句柄。

js 解决页面切换时,定时器setInterval会变得很慢,有时候不执行的问题相关推荐

  1. js 解决页面切换时,定时器setInterval 会变得越来越慢

    在项目中经常会用到自定义动画或者自定义一些无缝滚动什么的,需要用到js中的定时器setinterval,但是,楼主发现在项目中测试的时候,切换页面或者浏览器上面的页签时,定时器明明没有收到干扰,但是页 ...

  2. Delphi 使用双缓冲解决图片切换时的闪烁问题 good

    Delphi 使用双缓冲解决图片切换时的闪烁问题 good 参考文章: (1)Delphi 使用双缓冲解决图片切换时的闪烁问题 good (2)https://www.cnblogs.com/find ...

  3. js html页面切换效果,jQuery实现切换页面过渡动画效果

    这篇文章主要介绍了关于jQuery实现切换页面过渡动画效果,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 这是一款效果非常酷的jQuery和CSS3通过AJAX调用切换页面过渡动画特效 ...

  4. 如何解决页面刷新时白屏的问题?

    如何解决页面刷新时白屏的问题? this.isRouterAlive = false this.$nextTick(function () {this.isRouterAlive = true;//写 ...

  5. WOW.js – 在页面滚动时展现动感的元素动画效果

    在一些网页上,当你滚动页面的时候会看到各式各样的元素动画效果,非常动感.WOW.js 就是一款帮助你实现这种 CSS 动画效果的插件,很容易定制,你可以改变动画设置喜欢的风格.延迟.长度.偏移和迭代等 ...

  6. 动态效果html wow,WOW.js ? 在页面滚动时展现动感的元素动画效果_html/css_WEB-ITnose...

    在一些网页上,当你滚动页面的时候会看到各式各样的元素动画效果,非常动感.WOW.js 就是一款帮助你实现这种 CSS 动画效果的插件,很容易定制,你可以改变动画设置喜欢的风格.延迟.长度.偏移和迭代等 ...

  7. js统计页面停留时长

    前言 页面停留时间简称为Tp 是网站分析中的一个指标 用于反映用户在某些页面的停留时间的长短 我们可以把页面的生命周期分为三个动作 进入 活跃状态切换 离开 一.如何监听页面的进入和离开 对于常规页面 ...

  8. vue 前端进行tab页面切换时,要求不刷新

    项目中TagsView组件用于tab页面切换,在项目中已使用keep-alive,目标页面也开启了"缓存"标志,但是在tab标签点击切换时,有几个页面数据还是刷新了.查找了相关资料 ...

  9. 你也可以做一个小米魅族网站 WOW js WOW js – 在页面滚动时展现动感的元素动画效果

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 可视区域 ...

最新文章

  1. mutations vuex 调用_Vuex源码学习(六)action和mutation如何被调用的(前置准备篇)...
  2. 在Qt(C++)中使用QThread实现多线程
  3. 使用 Node.js、Express、AngularJS 和 MongoDB 构建一个Web程序
  4. win7+ubuntu 13.04双系统安装方法
  5. yum安装php5.6 nginx,CentOS 7 yum安装 Nginx1.16 + MySQL5.5 PHP5.6
  6. mysql二进制升级_MySQL二进制安装,升级,多实例部署
  7. io.js 1.0.x发布
  8. 水晶报表图形位置_看了我用Excel做的年度报表,老板直夸好
  9. Oracle案例08——xx.xx.xx.xx,表空间 SYSAUX 使用率95%%
  10. 张高兴的 Windows 10 IoT 开发笔记:RTC 时钟模块 DS3231
  11. 终于有了自己的域名了
  12. CA的建立与证书的颁发
  13. mac php 403,mac下配置apache以及403问题
  14. Mac VM 虚拟机固定IP
  15. 《道德经》和《圣经》中的“道”
  16. 优酷土豆实时推荐系统架构升级实践
  17. route 不同路由器 windows_如何检查路由器WiFi信号的好坏?
  18. 2021SC@SDUSC山东大学软件学院软件工程应用与实践--Ebiten代码分析 源码分析(四)
  19. Lumion 11软件介绍
  20. python_pygame.外星人入侵

热门文章

  1. 从scratch到python轻松学下载_STEAM教育-[少儿创客] 从Scratch到Python——python turtle-电路城论坛 - 电子工程师学习交流园地...
  2. DEVONthink Pro for Mac(mac文件管理工具)
  3. js实现关键字匹配高亮显示
  4. jsp+servlet实现简单登录页面功能Demo
  5. react native : Implementing unavailable method
  6. SIM卡的结构和类型
  7. linux系统之系统修复
  8. 宽带和流量是分开的吗_中国移动为什么免费送宽带和流量?网友:原来都是“套路”...
  9. 这是我的故事 —— 胡浩
  10. C语言数字图像处理进阶---3连环画风格滤镜