写在前面的话:之前一直以为定时器的返回值是Object类型,所以timer初始化也是写null,今天发现返回值是number,进而发觉这个返回值代表的是定时器的索引,指代这是第几个定时器

个人觉得只用set/clearInterval方法就好,他可以实现另外的一个方法的所有功能

启用定时器的方法有两种:

一、setInterval(,)

  • 周期性的执行函数体,这个方法如果不主动停止的话,会一直执行
  • 第一个参数是执行的函数体,一般传入有函数名的函数方法或匿名方法,非常不建议直接传入函数执行体,代码可读性会很差,应该也没人会这样做吧
  • 第二个参数是周期时间,单位是毫秒

二、setTimeout(,)

  • 在指定的时间之后执行函数体,如果有输出,也会不间断输出
  • 第一个参数也是要被执行的函数体
  • 第二个参数是指定的延迟时间,单位是毫秒

停止定时器的方法:

一、clearclearInterval()

  • 停止由 setInterval() 方法调用的定时器
  • 提前定义一个变量(一般用timer)接收setInterval(),执行结束后直接把变量传入 clearInterval()

二、clearTimeout()

  • 使用方法同上
 <script>
window.onload = function () {
//需求:点击关闭,广告栏消失,用定时器添加渐变效果
var timer = 0;
var ad = document.getElementsByClassName('ad')[0];
var a = ad.children[0].firstElementChild || ad.children[0].firstChild; a.onclick = function () {
//设置定时器
timer = setInterval(function() {
ad.style.opacity -= 0.1;
//透明度为0后,隐藏广告栏,清除定时器
if (ad.style.opacity <= 0) {
ad.style.display = "none";
clearInterval(timer);
}
},50);
} var ad_both = document.body.children;
setTimeout(function() {
ad_both[1].style.display = "none";
ad_both[2].style.display = "none";
},5000);
clearTimeout(timer);
}
</script>
</head>
<body>
<div class="top_banner">
<div class="nav">导航栏</div>
<div class="ad w" style="opacity: 1;"> <!--这里不懂,不是行内式的时候,有bug-->
<div class="close_ad">
<a href="#">×</a>
</div>
</div>
<div class="search w"></div>
</div>
<div class="ad_l">我将于5秒后自动消失</div>
<div class="ad_r">我将于5秒后自动消失</div>
</body>

最新文章

  1. PHP 面向对象编程和设计模式 (2/5) - 静态变量、属性和方法及延迟绑定
  2. 第 31 章 项目实战-PC 端固定布局[3]
  3. 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件
  4. 亚马逊云服务器AWS安装CentOS
  5. thinkphp框架下404页面设置
  6. max-min fairness 最大最小公平算法
  7. Java三大主流开源工作流引擎技术分析
  8. ubuntu-12.04.1-desktop-x64下JDK环境的安装与配置
  9. SimpleDateFormat使用详解
  10. CoreBluetooth
  11. javascript 常用array类型方法
  12. PC-CSS-分隔线
  13. Canvas裁剪和Region、RegionIterator
  14. Android常用第三方支付
  15. python实现满二叉树递归循环
  16. Pyhon中运算符的使用
  17. javascript闭包(Module模式)的用途和高级使用方式
  18. 人工智能是如何改变IT运维和DevOps的?
  19. [UE4]事件处理(Handling Events)和委托(Delegate)代码示例(二)【C++】
  20. webpack性能优化-实战

热门文章

  1. ArcGIS特殊标注效果的简单实现
  2. 学JS的心路历程-JS支持面向对象?(一)
  3. gparted增加Ubuntu14.04根目录空间(转)
  4. Html----开头
  5. k8s 创建deployment流程
  6. php首字母 大写 数组去重复
  7. 径向模糊(Radial Blur)
  8. Python之-------基础数据类型
  9. SMB扫描
  10. 解决VMware下CentOS连不上网络问题