js-定时器

摘要:
要使用计时器获取知识,首先清除计时器1,计时器setInterval()循环计时器;循环执行(循环执行)setTimeout()(执行事件,间隔时间(毫秒))varnum=0;setInterval(function){console.log(num);num++;},1000)2.setTimeout()炸弹计时器;使用后立即报废(仅一次)3.清除时间
知识
要用定时器,先清除定时器
 

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";
            }
        }

js-定时器第1张

模拟京东关闭广告栏

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);
            }
        }

js-定时器第2张

免责声明:文章转载自《js-定时器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇当ORACLE归档日志满后如何正确删除归档日志ROS之rviz显示历史运动轨迹、路径的各种方法(visualization_msgs/Marker、nav_msgs/Path)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

在Lambda表达式中进行递归调用

Lambda表达式是一个匿名的方法,在开发期我们是不知道其方法名是什么的,所以我们要怎么递归调用呢? 如果你看过我这文章《让您知道您的方法是被何“人”调用 》的话,你应该会“啊哈”的拍一下头脑,思路就出来了,没错!!就是直接用StackFrame获取当前执行的方法,然后直接Invoke即可。示例代码:     class Test    {       ...

JS URL参数传递 谷歌乱码解决

//第一个页面 var name=encodeURIComponent("参数"); var url="test1.html?name="+name; //第二个页面 var name=GetUrlParameters("name"); // 获取参数方法 name=decodeURIComponent(name); //encodeURICompon...

前端生成图形验证码

!(function(window, document) { var size = 5;//设置验证码长度 function GVerify(options) { //创建一个图形验证码对象,接收options对象为参数 this.options = { //默认options参数值 id: "",...

div,contenteditable编辑器之ctrl+enter换行,enter发送

    //回车发消息 $scope.keyDownSend = function($event) { var keycode = window.event?$event.keyCode:$event.which; var evt = $event ||window.event;...

springboot+thymeleaf 访问静态资源解决(static)

---------------------------------------2.1.3------------------------------------------------------------------ 第一步:pom.xml-必须有这个 <dependency><groupId>org.springframewo...

javascript 未来新方法的介绍

JavaScript1.6数组方法的扩展 var tmp = [1, 2, 3, 4, 5, 3]; console.log('indexOf:找出数组中某一对象的下标,如果没有则为-1'); console.log(tmp.indexOf(3) == 2); console.log(tmp....