setInterval和setTimeout区别(验证码倒计时)

写了一个验证码60s倒计时的小demo来帮助记忆和区别setInterval和setTimeout。

html

<input type="button" id="btn1" value="setInterval获取验证码btn1" onclick="getTime1()" />
<input type="button" id="btn2" value="setTimeout获取验证码btn2" onclick="getTime2()" />

js

//setInterval重复循环计时,需要清除计时器 (clearInterval)
function getTime1(){
    var time1=60;
    var val=‘‘;

    codeTimes=setInterval(function() {
        if(time1<=0){
            clearInterval(codeTimes);
            $(‘input#btn1‘).val("获取验证码btn1");
            $(‘input#btn1‘).attr("disabled",false);
        }else{
            time1--;
            val=time1+‘后重获‘;
            $(‘input#btn1‘).val(val);
            $(‘input#btn1‘).attr("disabled",true);
        }

    },1000);
}

// setTimeout倒计时,只重复一次,计时需要反复调用

var time2=60;
function getTime2() {
    if (time2 <= 0) {
        $(‘input#btn2‘).val("获取验证码btn2");
        $(‘input#btn2‘).attr("disabled",false);
        time2 = 60;
    } else {
        time2--;
        val=time2+‘后重获‘;
        $(‘input#btn2‘).val(val);
        $(‘input#btn2‘).attr("disabled",true);
        setTimeout(function() {
            gettime()
        },1000)
    } 

} 


1.如上代码所示,setInterval会自动重复,setTimeout不会重复。setInterval每隔指定的时间就执行对应的函数或代码,所以会使用到clearInterval来清除取消setInterval()设定的定时操作

2.而setTimeout只执行一次,所以,在进行计时操作的时候,需要重复调用函数。

3.setTimeout可多用于延迟操作,SetInterval多用于重复进行某操作。

原文地址:https://www.cnblogs.com/baimeishaoxia/p/12587392.html

时间: 2024-08-01 22:46:16

setInterval和setTimeout区别(验证码倒计时)的相关文章

JavaScript浏览器对象(window对象)之setInterval()和setTimeout()区别和用法

window对象有两个主要的定时方法,分别是setTimeout 和 setInteval 他们的语法基本上相同,但是完成的功能取有区别. setTimeout方法是定时程序,也就是在什么时间以后干什么.干完了就拉倒.setInterval方法则是表示间隔一定时间反复执行某操作.如果用setTimeout实现setInerval的功能,就需要在执行的程序中再定时调用自己才行.如果要清除计数器需要 根据使用的方法不同,调用不同的清除方法:例如: (1): t=setTimeout("northsn

js中setInterval和setTimeout区别和用法

setTimeout setTimeout() //- 在指定时间后执行代码clearTimeout() //- 取消 setTimeout(),clearTimeout()方法的参数必须是由setTimeout()返回的ID值. 注意: setTimeout() 和 clearTimeout() 都是HTML DOM 的 Window 对象的函数. 用法: setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式.     语法: setTimeout(code,millisec)

setInterval和setTimeout区别

setTimeout(表达式,延时时间)在执行时,是在载入后延迟指定时间后,去执行一次表达式,记住,次数是一次 而setInterval(表达式,交互时间)则不一样,它从载入后,每隔指定的时间就执行一次表达式 所以,完全是不一样的 使用SetInterval和设定延时函数setTimeout 很类似.setTimeout 运用在延迟一段时间,再进行某项操作. setTimeout("function",time) 设置一个超时对象 setInterval("function&

javascript中window与document对象、setInterval与setTimeout定时器的用法与区别

一.写在前面 本人前端菜鸟一枚,学习前端不久,学习过程中有很多概念.定义在使用时容易混淆,在此给向我一样刚踏入前端之门的童鞋们归纳一下.今天给大家分享一下js中window与document对象.setInterval与setTimeout定时器的用法与区别.讲得不对的地方,烦请大家指正,还望前辈.大牛多多指教! 二.window对象与document对象的用法和区别 window是全局对象,document是window对象的一个属性它也是一个对象.如图: document对象指的页面这个文档

setTimeout与setInterval方法的区别

setTimeout与setInterval方法的区别 setTimeout()用于设定在指定的时间之后执行对应的函数或代码.,在全局作用域下执行 setTimeout(code,time[,args…]) code: 需要执行的函数或js代码,等待的时间,args:参数 如:function sayHello(name, age){ //在5秒钟后弹出提示信息"我叫CodePlayer,今年18岁!". alert("我叫" + name + ",今年&

window.settimeout用法与window.setInterval用法的区别

setTimeout 和setInterval的功能都是经过某一个时间段后发生某件指定的事件或者方法. window.setTimeout方法是定时程序,也就是在某时间以后干什么, window.setInterval() 功能:按照指定的周期(以毫秒计)来调用函数或计算表达式. 语法:setInterval(code,millisec) 解释:code:在定时时间到时要执行的JavaScript代码串. millisec:设定的定时时间,用毫秒数表示. 返回值:定时器的ID值,可用于clear

第46天:setInterval与setTimeout的区别

js的setTimeout方法用处比较多,通常用在页面刷新了.延迟执行了等等.今天对js的setTimeout方法做一个系统地总结. setInterval与setTimeout的区别 说道setTimeout,很容易就会想到setInterval,因为这两个用法差不多,但是又有区别,今天一起总结了吧! 1.setTimeout 定义和用法: setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式. 语法: setTimeout(code,millisec) 参数: code (必

setInterval()和setTimeout()的区别

setInterval()和setTimeout()的区别: 以上两个方法都可以用作定时器,它们在语法形式非常的类似,但是功能上却区别巨大,下面结合实例介绍一下它们的异同点. 一.setInterval()函数的语法结构: setInterval(code,interval) setInterval()函数可周期性执行一段代码,也就是说代码会被周期性不断的执行下去. 函数具有两个参数: 第一个参数:规定周期性执行的代码,并不一定非要是一个函数. 第二个参数:规定周期的时间跨度,单位是毫秒,一秒等

60秒验证码倒计时js代码 js样式代码 方块上下左右随机移动(定时器) js中获取元素的方法 js中表单提交

60秒验证码倒计时js代码 <script type="text/javascript"> var countdown=60; function settime(val) { if (countdown == 0) { //removeAttribute() 方法删除指定的属性. disabled属性规定应该禁用 input 元素. val.removeAttribute("disabled"); val.value="免费获取验证码"