知识
要用定时器,先清除定时器
1、 定时器
setInterval() 循环定时器;周而复始的执行(循环执行)
setTimeout()( 执行事件,间隔时间(单位毫秒))
<script>
var num=0;
setInterval(function(){
console.log( num);
num++;
},1000)
</script>
2、setTimeout() 炸弹定时器;用完以后立刻报废(只执行一次)
3、清除定时器
clearInterval()(清除循环定时器)
clearTimeout()(清除炸弹定时器)
var num=0;
//返回值是setInterval定时器的名字
var timer=setInterval(function(){
console.log(num);
num++;
if(num===10){
//清除定时器
clearInterval(timer)
}
},2000)
定时器的定义方法
1、定义方式 (匿名函数)
setInterval(function(){
console.log(1)
},1000);
2、定义方法 (调用函数)
setInterval(fn,1000);
function fn(){
console.log(2)
}
3、定义方法 (最不常用)
//定义方法3 (最不常用)
//调用函数里面带有参数,必须加 “”,加引号它会到低层去找函数
// 如果不带“”就是执行函数,只执行一次
setInterval("11",1000);
function fn(a) {
案例
关闭广告栏
window.onload=function () {
var imgArr=document.getElementsByTagName("img");
setTimeout(fn,5000);
function fn(){
imgArr[0].style.display="none";
imgArr[1].style.display="none";
}
}

模拟京东关闭广告栏
window.onload=function () {
var tipBan=document.getElementsByClassName("top-banner")[0];
var a=tipBan.children[0].firstElementChild || tipBan.children[0].firstChild;
//定义定时器都是在外面 是一个数字类型nume
var time=null;
a.onclick=function () {
var time=setInterval(function(){
tipBan.style.opacity-=0.1;
//当透明度为0的时候,父盒子完全隐藏,然后清除定时器
if(tipBan.style.opacity<0){
tipBan.style.display="none";
clearInterval(time)
}
},500);
}
}

来源:https://www.cnblogs.com/wdz1/p/7598075.html