为了账号安全,请及时绑定邮箱和手机立即绑定

点击多次开始按钮,延时器速度不断增大,怎么让它点击一次,以后的点击无效呢?

点击多次开始按钮,延时器速度不断增大,怎么让它点击一次,以后的点击无效呢?

qq_天蝎的尾巴卍_0 2016-12-09 09:27:37
var i = 0;var timer;//写函数function start2(){ var inputObj = document.getElementById("result"); inputObj.value = "该程序已经运行了"+i+"秒!"; i++ timer = window.setTimeout("start2()",1000); }function stop2(){ window.clearTimeout(timer);}<input type="button" id="result" value="该程序已经运行了0秒!" /></br><input type="button" value="开始" onclick="start2()" /></br><input type="button" value="停止" onclick="stop2()" /></br>
查看完整描述

3 回答

已采纳
?
一瞬儿光

TA贡献178条经验 获得超70个赞

var i = 0;
var timer;
//写函数
function start2(){
var inputObj = document.getElementById("result");
inputObj.getAttribute('class') && inputObj.getAttribute('class') == 'started' && return false;
inputObj.className = 'started';
inputObj.value = "该程序已经运行了"+i+"秒!";
i++
timer = window.setTimeout("start2()",1000); 
}
function stop2(){
window.clearTimeout(timer);
}


<input type="button" id="result" value="该程序已经运行了0秒!" /></br>
<input type="button" value="开始" onclick="start2()" /></br>
<input type="button" value="停止" onclick="stop2()" /></br>
//加这两行就可以了
inputObj.getAttribute('class') && inputObj.getAttribute('class') == 'started' && return false;
inputObj.className = 'started';

ps:想不明白这代码有什么用,感觉你应该想写的是setInterval计时器。

查看完整回答
反对 回复 2016-12-09
  • 3 回答
  • 0 关注
  • 1348 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信