精华内容
下载资源
问答
  • window.settimeout()方法要调用带参数的函数有两种方法: 1. 代码如下: function init(){ var url = “<%=basePath%>fetchwater.do?method=searchRealWater&xzqh=” + “<%=xzqh%>” + “&rand=”+...
  • } setTimeout : 延迟多长时间执行什么方法,具体使用://www.jb51.net/article/35535.htm opener: 指parent表示父窗口,比如一个A页面利用iframe或frame调用B页面,那么A页面所在窗口就是B页面的parent。在JS 中,...
  • 在node.js中可以使用node.js内置的setTimeout(callback,delayMillSeconds,[args])方法。当调用setTime()时回调函数会在delayMillSeconds后 执行.setTime() 会返回一个定时器对象ID,可以在delayMillSeconds到期前将...
  • JSsetTimeout()的用法详解

    万次阅读 多人点赞 2017-01-16 23:55:50
    setTimeout( ) 是属于 window 的 方法, 但我们都是略去 window 这顶层容器名称, 这是用来设定一个时间, 时间到了, 就会执行一个指定的 method 请先看以下一个简单, 这是没有实际用途的例子, 只是用来示范 ...

    setTimeout( ) 是属于 window 的 方法, 但我们都是略去 window 这顶层容器名称, 这是用来设定一个时间, 时间到了, 就会执行一个指定的 method

    请先看以下一个简单, 这是没有实际用途的例子, 只是用来示范 setTimeout( ) 的语法。

    1、setTimeout( ) 语法例子

    <html>
    <body text=red>
    <h1> <font color=blue> 示范网页 </font> </h1> <p> </br>
    <p> 请等三秒钟!
    <script>
    setTimeout("alert('对不起, 三秒钟已到')", 3000 )
    </script>
    </body> </html>
    

    2. 留意网页开启后三秒, 就会出现一个 alert 对话盒。

      setTimeout( )是设定一个指定等候时间 (单位是千分之一秒, millisecond), 时间到了, 浏览器就会执行一个指定的 method 或 function, 有以下语法:

    setTimeout(code, milliseconds, param1, param2, ...)
    setTimeout(function, milliseconds, param1, param2, ...)

     

    code/function:必需。要调用一个代码串,也可以是一个函数。

    milliseconds:可选。执行或调用 code/function 需要等待的时间,以毫秒计。默认为 0。

    param1, param2, ... : 可选。 传给执行函数的其他参数(IE9 及其更早版本不支持该参数)。  

    这次例子是设定等待 3 秒 (3000 milliseconds), 浏览器就会执行 alert( ) 这一个method,注意这个函数可以由我们自己重新书写。下面就来看一看调用function的方式 

    <html>
     <head></head>
     <body text="red"> 
      <h1><font color="blue"> 示范网页 </font></h1> 
      <script>
    // setTimeout("alert('出窗')",3000 );
    setTimeout("changeState()",3000 );
    function changeState(){
      // alert("弹出");
      let content=document.getElementById('content');
      content.innerHTML="<div>这是三秒钟之后</div>";
    }
    </script> 
      <p id="content"> 请等三秒钟!</p>  
     </body>
    </html>

    以上这段代码是实现一个在3秒钟之后进行更换文本的内容,在更换内容的时候调用了方法changeState()方法

    3、有了以上基础,我们可以实现一个自动运行的按照时间递加的计数器,如下面所示代码:

    <html>
    <body text=red>
    <h1><font color=blue> 示范网页 </font></h1>
    <script>
      var x=0;
    
      function changeState(){
            x=x+1;
            //注意这里的调用方式,使用引号包围
            setTimeout("changeState()",1000 );
            let content=document.getElementById('content');
             content.innerHTML=x;
             console.log(x);
          }
    </script>
    <button onclick="changeState()">开始计时</button>
    <p>已运行时间</p>
    <p id="content"></p>
    </body>
    </html>
    


    在上面代码中,当点击按钮启动changeState( )后, 就会启动 setTimeout( ), 这个 method 在一秒后又启动 changeState( ), changeState( )启动后又启动 setTimeout( ) , 所以得出的结果是 changeState( )每秒执行一次,继而实现数值的递增。

    虽然实现了数值的递增,但是当我们连续点击按钮时,你会发现,数值的增加不是按照1秒增加的(小于1秒),下面,我们进行一些限制条件,比如限制x<60,然后重新开始,在其他位进1,也就是实现钟表计时功能,如下面代码:

    <html>
    <body text=red>
    <h1><font color=blue> 示范网页 </font></h1>
    <script>
      var x=00;
      var y=00;
      var z=00;
    
      function changeState(){
        if(x<=59&&x>=0 && y<=59 && y>=0 && z<=59 && z>=0){
          //注意这里的调用方式,使用引号包围
          let content=document.getElementById('content');
           content.innerHTML=z+":"+y+":"+x;
           console.log(x);
            x=x+1;
        }else if(y<=59 && y>=0 && z<=59 && z>=0){
          y=y+1;
          x=0;
        }
        else if (z<=59 && z>=0) {
          z=z+1;
          y=0;
          x=0;
        }
        setTimeout("changeState()",1000 );
      }
    </script>
    <button onclick="changeState()">开始计时</button>
    <p>已运行时间</p>
    <p id="content"></p>
    </body>
    </html>
    


    实现效果如下所示:

     

    3、既然有开始计时,那么想当然就要有停止计时,那么就需要知道这个函数------clearTimeout( )

      setTimeout( ) 来使到浏览器不断执行一个 function, 当一个 setTimeout( ) 开始了循环的工作, 我们要使它停下来, 可使用 clearTimeout( ) 这 method。
      clearTimout( ) 有以下语法: clearTimeout(timeoutID)
      要使用 clearTimeout( ), 我们设定 setTimeout( ) 时, 要给予这 setTimout( ) 一个名称, 这名称就是 timeoutID , 我们叫停时, 就是用这 timeoutID来叫停, 这是一个自定义名称,。
    如下:
    timeoutID
     ↓
    meter1 =setTimeout("count1()", 1000)
    meter2 =setTimeout("count2()", 1000)
      使用这 meter1 及 meter2 这些 timeoutID 名称, 在设定 clearTimeout( ) 时, 就可指定对哪一个 setTimeout( ) 有效, 不会扰及另一个 setTimeout( ) 的操作。

    如下所示,停止的语句(注意:count1(),count2()分别是计时开始的方法,而meter1,meter2分别是setTimeout的定义)

    <html>
     <head> 
      <script>
    x = 0
    y = 0
    
    function count1( )
    { x = x+ 1
      document.display1.box1.value= x
      meter1=setTimeout("count1()", 1000)
    }
    
    function count2( )
    { y = y+ 1
      document.display2.box2.value= y
      meter2=setTimeout("count2()", 1000)
    }
    </script> 
     </head> 
     <body bgcolor="lightcyantext=red"> 
      <p> <br /> </p>
      <form name="display1"> 
       <input type="text" name="box1" value="0" size="4" /> 
       <input type="button" value="停止计时" onclick="clearTimeout(meter1)" /> 
       <input type="button" value="继续计时" onclick="count1() " /> 
      </form> 
      <p> </p>
      <form name="display2"> 
       <input type="text" name="box2" value="0" size="4" /> 
       <input type="button" value="停止计时" onclick="clearTimeout(meter2) " /> 
       <input type="button" value="继续计时" onclick="count2( ) " /> 
      </form> 
      <script>
    count1( )
    count2( )
    </script>  
     </body>
    </html>

    4、设置点击一次标志--- Set flag
      前个练习说到我们用一个按钮来启动一个 function, 每按一下就会启动这 function 一次, 请看以下例子。
     在这例子有以下设定:
    1. 程序开启时 flag=0。
    2. 当 counter( ) 执行时会顺便将 flag 变为 1。
    3. 在 [继续计时] 这按钮的反应中, 会先检查 flag 是 0 或是 1, 若是 0 就会产生作用, 若是 1 就没有反应。
    4. 使用这 flag 的方式, count( ) 这 function 开启后, [继续计时] 这按钮就没有作用。
      这处的 flag 是一个变数, 可任意取名, 我们用 flag来称呼这变数的原因, 是因为这变数好处一支旗, 将旗竖起 (flag is on), 就会产生一个作用, 将旗放下 (flag is off), 就产生另一个作用。
    练习---只可开启一次的 function
      这练习是将上个练习加多一个 flag, 使到每次只能有一个 count( ) 这 function 在进行。
    以下内容:

    <html>
     <head> 
      <script>
    x = 0
    flag = 0
    function count( )
    { x = x+ 1
      document.display.box.value= x
      timeoutID=setTimeout("count()", 1000)
      flag = 1
    }
    
    function restart( )
    { if (flag==0)
       { count( ) }
    }
    </script> 
     </head> 
     <body bgcolor="lightcyantext=red"> 
      <p> <br /> </p>
      <form name="display"> 
       <input type="text" name="box" value="0" size="4" /> 
       <input type="button" value="停止计时"   onclick="clearTimeout(timeoutID);flag=0" /> 
       <input type="button" value="继续计时" onclick="restart() " /> 
      </form> 
      <p> <script>
    count( )
    </script> </p>
      <form> 
       <input type="button" value="Show flag" onclick="alert('The flag now is '+ flag)" /> 
      </form>  
     </body>
    </html>

    效果说明:

    1. 在网页中, 你应该能看到三个按钮及文字框中的数字跳动。
    2. 请你按 [Show flag]这按钮, 应见到一个话对盒显示 flag 是 1。
    3. 请你按 [停止计时]这按钮, 数字停止跳动, 请你按 [Show flag] 这按钮, 应见到话对盒显示 flag 是 0。
    4. 请你按多次 [继续计时]这按钮, 你应见到数字不会加快, 请你按 [Show flag]这按钮, 应见到话对盒显示 flag 变回 1。

    代码解析:

    1. 这网页第 5行有这一句: flag=0 , 这是设定 flag 这变量及将初始值定为 0, 你也可将初始值定为 1, 随后有关的 0 和 1 对调。
    2. count( ) 这个 function方法中最后一句是 flag=1 , 所以启动 count( ) 后, flag的状态就会变为 1。
    3. [继续计时] 的按钮是用来启动 restart( ), 这 function 有以下设定:

    function restart( )
    { if (flag==0)
       { count( ) }
    }

      这里的 if statement 检查 flag是否等于 0, 若是 0 就启动 count(), 若是 1 (即不是 0) 就没有反应,使用这方法, 若 count( )已在执行中, [继续计时] 这按钮不会有作用。
      这处的 flag=1设定, 实际设为 1 或 2 或 3 等数值都是一样的,只要不是 0 就可以了, 所以这两个相对的标志,看似是 "0" 和 "1", 实际是"0" 和 "non-zero" (非-0)。
    4. [停止计时] 的按钮有以下设定:

    onClick="clearTimeout(timeoutID);flag=0"

    上面代码是停止 setTimeout( ) 的操作时,同时将 flag 传回 0, 这使到restart( ) 这function 可以重新启动 count()。

    注意:下面方法是定时作用,能够按照一定的时间执行相同的操作setInterval

    let i =0; setInterval(() => { console.log(i++); },1500);//1000为1秒钟

    在上面代码中,每隔1.5秒就会有一次打印,对于这个方法,同样能够实现上面操作中的始终功能,并且代码更加简单.

    应该值得注意的是: setTimeout 也有个小细节,第二个参数设置为 0 也许会有人认为这样就不是异步了,其实还是异步。这是因为 HTML5 标准规定这个函数第二个参数不得小于 4 毫秒,不足会自动增加。
     

     

    展开全文
  • 主要介绍了JSsetTimeout的巧妙用法前端函数节流 的相关资料,需要的朋友可以参考下
  • 定义和用法: setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。 语法: setTimeout(code,millisec) 参数: code (必需):要调用的函数后要执行的 JavaScript 代码串。 millisec(必需):在执行代码前...
  • JavaScript setTimeout用法js setTimeout带参数 ================================ ©Copyright 蕃薯耀2021-07-07 https://blog.csdn.net/w995223851 一、setTimeout一般用法 setTimeout(function(){ ...

    JavaScript setTimeout用法,js setTimeout带参数

    ================================

    ©Copyright 蕃薯耀 2021-07-07

    https://blog.csdn.net/w995223851

    一、setTimeout一般用法 

    setTimeout(function(){ alert("Hello"); }, 3000);

    二、setTimeout带参数用户

    1、setTimeout语法:

    setTimeout(code, milliseconds, param1, param2, ...)
    setTimeout(function, milliseconds, param1, param2, ...)

    code/function    必需。要调用一个代码串,也可以是一个函数。

    milliseconds    可选。执行或调用 code/function 需要等待的时间,以毫秒计。默认为 0。 param1, param2, ...    可选。 传给执行函数的其他参数(IE9 及其更早版本不支持该参数)。

    2、setTimeout带参数用法

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
    
    <p>点击按钮输出 "Hello"。</p>
    
    <p>实例中,我们也会输出传递给 alertFunc() 函数的参数 ( 兼容所有浏览器 )。</p>
    
    <button onclick="myStartFunction('11','222')">开始</button>
    	
    <button onclick="myStartFunction2('11','222')">开始2</button>
    
    <p id="demo"></p>
    
    <p id="demo2" style="color:red;"></p>
    	
    <p id="demo3"></p>
    
    <script>
    var myVar;
    
    //方式一:( 兼容所有浏览器 )
    function myStartFunction(param1, param2) {
        myVar = setTimeout(function(){ alertFunc(param1, param2); }, 200);
    }
    
    //方式二:传递参数给 alertFunc 函数 ( IE9 及其更早版本不支持):
    function myStartFunction2(param1, param2) {
        myVar = setTimeout(function(param1, param2){document.getElementById("demo").innerHTML = (param1  + ","+ param2);}, 200, param1, param2);
    }
    
    function alertFunc(param1, param2) {
        document.getElementById("demo").innerHTML = "Hello ";
    
        document.getElementById("demo2").innerHTML = "传递给 alertFunc() 的参数: <br>" 
        + param1 + "<br>" + param2 + "<br>";
    }
    </script>
    
    </body>
    </html>

    (时间宝贵,分享不易,捐赠回馈,^_^)

    ================================

    ©Copyright 蕃薯耀 2021-07-07

    https://blog.csdn.net/w995223851

    展开全文
  • js setTimeOut 用法

    2009-11-01 23:02:00
    setTimeout()在js类中的使用方法 setTimeout (表达式,延时时间)setTimeout(表达式,交互时间)延时时间/交互时间是以豪秒为单位的(1000ms=1s) setTimeout 在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行...

     setTimeout()在js类中的使用方法  
    setTimeout (表达式,延时时间)
    setTimeout(表达式,交互时间)
    延时时间/交互时间是以豪秒为单位的(1000ms=1s)

    setTimeout 在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次
    setTimeout 在执行时,它从载入后,每隔指定的时间就执行一次表达式

    1,基本用法:
       执行一段代码:
       var i=0;
       setTimeout("i+=1;alert(i)",1000);
       执行一个函数:
       var i=0;
       setTimeout(function(){i+=1;alert(i);},1000);
      
       //注意比较上面的两种方法的不同。

       下面再来一个执行函数的:
       var i=0;
       function test(){
           i+=1;
           alert(i);
       }
       setTimeout("test()",1000);
       也可以这样:
       setTimeout(test,1000);

       总结:
       setTimeout的原型是这样的:
       iTimerID = window.setTimeout(vCode, iMilliSeconds [, sLanguage])
      
    setTimeout有两种形式

    setTimeout(code,interval)
    setTimeout(func,interval,args)

    其中code是一个字符串
    func是一个函数.

    注意"函数"的意义,是一个表达式,而不是一个语句.
    比如你想周期性执行一个函数
    function a(){
          //...
    }
    可写为
    setTimeout("a()",1000)

    setTimeout(a,1000)

    这里注意第二种形式中,是a,不要写成a(),切记!!!
    展开来说,不管你这里写的是什么,如果是一个变量,一定是一个指向某函数的变量;如果是个函数,那它的返回值就 要是个函数

    2,用setTimeout实现setInterval的功能
        思路很简单,就是在一个函数中调用不停执行自己,有点像递归
        var i=0;
        function xilou(){
            i+=1;
            if(i>10){alert(i);return;}
            setTimeout("xilou()",1000);
            //用这个也可以
            //setTimeout(xilou,1000);
        }
       
        3,在类中使用setTimeout
        终于到正题了,其实在类中使用大家遇到的问题都是关于this的,只要解决了这个this的问题就万事无忧了。
    呵呵。让我们来分析一下:
       
        function xilou(){

            this.name="xilou";
            this.sex="男";
            this.num=0;
        }
        xilou.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:正确
           
        }
       
        var x=new xilou();
        x.count();
       
        错误分析:
        A:中的this其实指是window对象,并不是指当前实例对象
        B:和C:中的count()和count其实指的是单独的一个名为count()的函数,但也可以是window.count(),因为window.count()可以省略为count()
        D:将变量self指向当前实例对象,这样js解析引擎就不会混肴this指的是谁了。
       
        话说回来,虽然我们知道setTimeout("this.count()",1000)中的this指的是window对象,但还是不明白为什么会是
        window对象^_^(有点头晕...)
        那我们可以想象一下这个setTimeout是怎样被定义的:
        setTimeout是window的一个方法,全称是这样的:window.setTimeout()
        那应该是这样被定义的:
        window.setTimeout=function(vCode, iMilliSeconds [, sLanguage]){
            //.....代码
            return timer//返回一个标记符
        }
        所以当向setTimeout()传入this的时候,当然指的是它所属的当前对象window了。

    展开全文
  • js setTimeout参数传递使用方法

    千次阅读 2018-02-05 21:19:12
    window.settimeout()方法要调用带参数的函数有两种方法:1 function test(){ var url = ""; window.setTimeout(function(){ checkUrl(url);},1000); } 2 function test(){ var url = ""; ...

    window.settimeout()方法要调用带参数的函数有两种方法:

    function test(){ 
    var url = ""; 
     
    window.setTimeout(function(){ checkUrl(url);},1000); 
    } 

    function test(){ 
    var url = ""; 
    
    window.setTimeout(“checkUrl(”+url+“)”, 1000); 
    } 

    注意: 带参数方法使用setTimeout要注意,setTimeout("函数名("+参数+")",毫秒数),这里的参数只能是字符串形式的,而不能传递一个对象 

    展开全文
  • 最近在写一个定时打字的效果,需要for循环和setTimeout搭配使用,出现了一些问题,在网上查找找到了问题所在。1.setTimeout(func,time)函数运行机制 setTimeout(func,time)是在time(毫秒单位)时间后执行func函数...
  • js setTimeout 参数传递使用

    千次阅读 2017-04-19 16:29:13
    setTimeout的参数传递问题想必大家有所纠结,window.settimeout()方法要调用带参数的函数有两种方法,下面为大家详细介绍下,感兴趣的朋友可以参考下 window.settimeout()方法要调用带参数的函数有两种方法: ...
  • jssetTimeout的各种用法 ** 各种踩坑,特此记录 setTimeout 不带参数 setTimeout(fun,time) setTimeout 带一个数值型参数 setTimeout(fun,numberParam,time) setTimeout 带一个字符串类型的参数 setTimeout(...
  • 本文实例讲述了js使用setTimeout实现定时炸弹的方法。分享给大家供大家参考。具体分析如下: 今天看 css探索之旅 的博客文章,有个用setTimeout写定时炸弹的效果,自己也就照猫画猫来写一个。 <!DOCTYPE ...
  • 简单使用看w3school 里面没有参数调用, 例子如下 代码如下: [removed] function timedMsg() { var a =”dd”; var t=setTimeout(function(){ cao(a);},3000) } function cao(a) { alert(a); } [removed] &...
  • JSsetTimeout()的用法详解(转载)

    千次阅读 2018-08-06 18:08:11
    JSsetTimeout()的用法详解(转载)
  • javascript中定时器setTimeout用法一般如下,调用beginrotate之后就进入定时执行rotateloop的一个过程,如下代码: 代码如下: var angle = 0; function rotateloop() { if (angle < 360) { angle++; //use ...
  • setInterval()与setTimeout() 是 Document自带的方法, 前者表示循环执行, 后者表示定时执行。 循环执行:var timeid = window.setInterval(function, time); 停止循环执行 : window.clearInterval(timeid); ...
  • jssettimeout方法加参数的使用。简单使用看w3school 里面没有参数调用, 例子: 代码如下:[removed] function timedMsg() { var a =”dd”; var t=setTimeout(function(){ cao(a);},3000) } function cao(a) { ...
  • JS setTimeout()基本用法

    2021-03-03 12:55:21
    转自:http://www.pinlue.com/article/2020/10/1501/5011295234624.html
  • js setTimeOut() 方法传参

    千次阅读 2014-10-14 17:24:17
    在javascript编程中常用到setTimeout函数定时执行某函数,可在给函数传参时容易出现问题,这里是...此方法用于传递字符串,无法传递对象 2、匿名函数 setTimeout(function(){ start(argu)},1000); 调用start函数并传a
  • 本文实例讲解了JSsetTimeout()的用法,分享给大家供大家参考,具体内容如下 效果图: 具体代码: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> &...
  • 两者的使用方法类似。 最近在练习写一个小例子的时候用到了定时器,发现在setInterval和setTimeout中传入函数时,函数中的this会指向window对象,详细的介绍通过一个示例展开,一起来看看吧。 如下例: var num = ...
  • 后来发现setTimeout的第一个参数必须是需要编译的代码或者是一个函数方法,而如果直接传入一行可执行代码,那么抱歉,这里会立即执行,没有延迟效果。 解决办法如下: (1)让第一个参数成为函数 setTimeout...
  • 本文实例分析了js超时调用setTimeout和间歇调用setInterval的用法。分享给大家供大家参考。具体如下: 今天看了javascript高级程序设计(第三版)一书,发现说setTimeout比setInterval更好,觉得的确如此。平时都是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 93,354
精华内容 37,341
关键字:

jssettimeout的用法