扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
body
在金湾等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、网站制作 网站设计制作按需策划设计,公司网站建设,企业网站建设,成都品牌网站建设,成都全网营销推广,外贸营销网站建设,金湾网站建设费用合理。
手机号码: input type="number" button发送/button
script
var btn = document.querySelector('button');
var time = 60; // 定义剩下的秒数
btn.addEventListener('click', function() {
btn.disabled = true;
var timer = setInterval(function() {
if (time == 0) {
// 清除定时器和复原按钮
clearInterval(timer);
btn.disabled = false;
btn.innerHTML = '发送';
time = 60; //这个需要重新开始
} else {
btn.innerHTML = '还剩下' + time + '秒';
time--;
}
}, 1000);
})
/script
/body
你这相当于给内层的定时器搞了个死循环,每1秒就会创建一个定时器,6秒过去就表示已经创建6个定时器了,每个定时器的开始时间相差1秒,当然6秒后就会每秒弹出一次啦,12秒后每秒会弹出两次,以此类推……你这样持续运行下去会创建无数个定时器,那时候每秒估计会弹出很多很多hello~然后电脑估计要炸了~~如果问题解决了,记得采纳哦~~
定时器在js中的应用非常广泛,比如首页的轮播图效果,网页的时钟,秒杀倒计时等,都是采用定时器来实现的。
主要提供了两种定时器:
script type="text/javascript"
//一次性
window.setTimeout(function () {
alert(1);
},1000)
//周期性
window.setInterval(function () {
alert(2);
},1000)
/script
//试试这个吧
!DOCTYPE html
html lang="en"
head
meta charset="UTF-8"
titleDocument/title
/head
body
div id="time"/div
script
!--
var maxtime = 60*60 //一个小时,按秒计算,自己调整!
function CountDown(){
if(maxtime=0){
minutes = Math.floor(maxtime/60);
seconds = Math.floor(maxtime%60);
minutes = minutes=10?minutes:'0'+minutes;
seconds = seconds=10?seconds:'0'+seconds;
msg = "距离结束还有"+minutes+"分"+seconds+"秒";
document.all["time"].innerHTML=msg;
if(maxtime == 5*60) alert('注意,还有5分钟!');
--maxtime;
}else{
clearInterval(timer);
alert("时间到,结束!");
}
}
timer = setInterval("CountDown()",1000);
//--
/script
/body
/html
参考下面代码:
script type="text/javascript"
function getRTime(){
var EndTime= new Date('%=datas%'); //datas是数据库的时间
var NowTime = new Date();
var t =EndTime.getTime() - NowTime.getTime();
if(t=0){
var d=Math.floor(t/1000/60/60/24);
var h=Math.floor(t/1000/60/60%24);
var m=Math.floor(t/1000/60%60);
var s=Math.floor(t/1000%60);
document.getElementById("t_d").innerHTML = d;
document.getElementById("t_h").innerHTML = h;
document.getElementById("t_m").innerHTML = m;
document.getElementById("t_s").innerHTML = s;
}
}
setInterval(getRTime,1000);
/script
settimeout在load之后便开始计时10秒后执行一个方法
settimeout(fun,time);参数只能为函数而不是一个表达式
如果参数为表达式则直接运行而不会计时后运行
如:settimeout(alert("test"),5000)等价于alert("test")
如有疑惑欢迎追问
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流