资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

js延时操作setTimeout和setInterval

1.setTimeout

说明:
有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码.且只执行一次

10年积累的成都网站制作、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先制作网站后付款的网站建设流程,更有婺源免费网站建设让你可以放心的选择与我们合作。

/*按钮禁用10秒*/
setTimeout(disabledSubmitButton("bt01"), 1000*10);

function disabledSubmitButton(submitButtonName) {
        $("#"+submitButtonName).removeAttr("disabled");//将按钮可用
}
2.setInterval

说明:
有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码.会重复执行;可应用于倒计时.

// 每10获取一次时间
setInterval("showTime()" , 1000*10 );
function showTime(){
    // js获取日期时间
    var newDate = getDateTime();
    alert("当前日期时间是:" + newDate);
}

// js获取日期时间
function getDateTime(){
    var dateObj = new Date(); //表示当前系统时间的Date对象
    var year = dateObj.getFullYear(); //当前系统时间的完整年份值
    var month = dateObj.getMonth()+1; //当前系统时间的月份值
    var date = dateObj.getDate(); //当前系统时间的月份中的日
    var day = dateObj.getDay(); //当前系统时间中的星期值
    var weeks = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
    var week = weeks[day]; //根据星期值,从数组中获取对应的星期字符串
    var hour = dateObj.getHours(); //当前系统时间的小时值
    var minute = dateObj.getMinutes(); //当前系统时间的分钟值
    var second = dateObj.getSeconds(); //当前系统时间的秒钟值
    var timeValue = "" +((hour >= 12) ? (hour >= 18) ? "晚上" : "下午" : "上午" ); //当前时间属于上午、晚上还是下午

    return dateFilter(year)+"年"+dateFilter(month)+"月"+dateFilter(date)+"日 "+" "+dateFilter(hour)+":"+dateFilter(minute)+":"+dateFilter(second) + " " + week;
}

效果:
js延时操作setTimeout和setInterval

3.清除

如果对计时函数不加以处理,那么setInterval将会持续执行相同的代码,一直到浏览器窗口关闭,或者用户转到了另外一个页面为止.不过还是有办法可以终止setTimeout和setInterval函数的执行.当setInterval调用执行完毕时,它将返回一个timer ID,将来便可以利用该值对计时器进行访问,如果将该ID传递给clearInterval,便可以终止那段被调用的过程代码的执行了,具体实现如下:

var obj01 = setTimeout(disabledSubmitButton("bt01"), 1000*10);

clearTimeout(obj01)

var obj02 = setInterval("showTime()" , 1000*10 );

clearInterval(obj02);

当前名称:js延时操作setTimeout和setInterval
文章位置:http://cdkjz.cn/article/gsjiph.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220