js计时器

JS提供了两种计时器的方法

  1. window.setInterval();
    这个方法就是在一个周期内反复执行一直到窗口关闭或者 clearInterval()
  2. window.setTimeout();
    延迟执行内容

setInterval()的使用方法:
setInterval(code,millisec);
code:可以是方法名,如果是方法不要加小括号。同时也可以是字符串用双引号将方法括起来。setInterval(“setCode()”,1000);或者setInterval(setCode,1000);
millisec:是毫秒数,就是隔了多久执行

 var p1 = document.getElementById("p");
    var n = 0;
    var data = ["12345","67890"];
    var rows = 0;
    var cols = 0;
    function setCode(){
        if(cols < data[rows].length){
            p1.innerHTML += data[rows][cols];
            cols++;
        }else if(rows < data.length){
            p1.innerHTML += "</br>";
            rows++;
            cols = 0;
        }else {
            clearInterval(timer);
        }
    }
    var timer = setInterval(setCode,500);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

setTimeout和setInterval用法是一样的的。

那么在计时器中能否传递参数呢?答案是不能的那么怎么办呢,推荐使用匿名函数。

   var person = {name: "peng", age: 23};
    function getPerson(person){
        alert(person.name);
    }
    var timer = setInterval(function(){
        getPerson(person);
    },1000);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

就是在定义定时器是在重新写一个函数在函数里面去调用方法。
当然也可以直接将函数和参数用”“括起来 ,但是这样不能周期性改变参数的值

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭