zoukankan      html  css  js  c++  java
  • JavaScript 与定时器有关方法

    第一部分:setTimeout与clearTimeout

    语法:setTimeout(func,millis)
      func必须,函数或执行字符串
      millis必须,间隔时间毫秒(1s=1000ms)
    setTimeout  在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次
    setTimeout  在执行时,它从载入后,每隔指定的时间就执行一次表达式

    1、基本用法
       ----------执行一段代码:
       var i=0;
       setTimeout("i='this.string';alert(i)",1000);
       ----------执行一个函数:
       var i=0;
       setTimeout(function(){i+=1;alert(i);},1000);
    2、递归调用
      var count=0;
      function count(){
        count++;
        while(count<10){
            setTimeout(count,1000);
        }
      }
    3、在类中使用
    function User(){
            this.name="xilou";
            this.sex="男";
            this.num=0;
    }
    User.prototype.count=function(){
            this.num+=1;
            alert(this.num);
            if(this.num>10){return;}
            //下面用四种方法测试,一个一个轮流测试。
            setTimeout("this.count()",1000);//A:当下面的x.count()调用时会发生错误:对象不支持此属性或方法。
            setTimeout("count()",1000);//B:错误显示:缺少对象
            setTimeout(count,1000);//C:错误显示:'count'未定义
            //下面是第四种
            var self=this;
            setTimeout(function(){self.count();},1000);//D:正确
    }

    4、clearTimeout

    要使用 clearTimeout( ), 需要给 setTimout( ) 一个名称:timeoutID ,用timeoutID停止调用。
    timeoutID
     ↓
    meter1 = setTimeout("count1( )", 1000)
    meter2 = setTimeout("count2( )", 1000)
    使用meter1 及meter2等 timeoutID 名称可以具有针对某个定时器清除,而互不影响。

    第二部分:setInterval与clearInterval

    setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
    setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。
    由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

    语法:setInterval(code,millisec)
      code    必需。要调用的函数或要执行的代码串。
      millisec 必需。周期性执行或调用 code 之间的时间间隔,以毫秒计。
    一个可以传递给 Window.clearInterval() 从而取消对 code 的周期性执行的值。

    var leftSeconds = 10;
    var intervalId;
    $(function(){
        $("#btnReg").attr("disabled",true);
        intervalId = setInterval("countDown()",1000);
    });
    function countDown(){  
       if(leftSeconds <=0){
          $("#btnReg").val("submit");
          $("#btnReg").attr("disabled",false);
          clearInterval(intervalId);
          return;
       }else{
         leftSeconds--;
         $("#btnReg").val("请仔细阅读" + leftSeconds + "秒");
       }
    }

  • 相关阅读:
    Spring
    vue实现大文件上传下载
    javascript实现大文件上传下载
    js实现大文件上传下载
    php实现大文件上传下载
    jsp实现大文件上传下载
    java实现大文件上传下载
    java实现大文件上传功能
    百度ueditor编辑器 复制word里面带图文的文章,图片可以直接显示
    百度ueditor 复制word里面带图文的文章,图片可以直接显示
  • 原文地址:https://www.cnblogs.com/boonya/p/2684132.html
Copyright © 2011-2022 走看看