计时事件 有大佬指点下吗?

妖丶刀 2019-08-18 08:34:54
<!DOCTYPE html>
<html>
<head>
<script>
var c=0;
var t;
var timer_is_on=0;

function timedCount()
{
document.getElementById('txt').value=c;
c=c+1;
t=setTimeout("timedCount()",1000);
}

function doTimer()
{
if (!timer_is_on)
{
timer_is_on=1;
timedCount();
}
}
</script>
</head>

<body>
<form>
<input type="button" value="Start count!" onClick="doTimer()">
<input type="text" id="txt">
</form>
<p>Click on the button above. The input field will count forever, starting at 0.</p>
</body>
</html>

上面的timer_is_on干嘛用的,不懂,有大佬能指点下吗?
...全文
175 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
妖丶刀 2019-08-19
  • 打赏
  • 举报
回复
引用 1 楼 天际的海浪的回复:
一个状态值,作用是限制按钮的点击操作只有第一次有效。
if(!timer_is_on)这句是什么意思?
a_b_a_b_a_b_a_b 2019-08-19
  • 打赏
  • 举报
回复
放置按钮点击多次,定时器执行多次,加一个timer_is_on标识,就相当于记录按钮点击了没有,点击生效了,标识位变为1。再次点击就无效了。
前端_小菜鸟 2019-08-19
  • 打赏
  • 举报
回复
if(timer_is_on){ 这里是调用定时器的地方 } timer_is_on这个就相当于一个开关, 默认值为0, 取反就变成了true 所以执行下面操作,也相当于一次性定时器,因为当你执行完一次之后 timer_is_on取反的值一直weifalse,并不会执行里面的代码
天际的海浪 2019-08-19
  • 打赏
  • 举报
回复
引用 2 楼 妖丶刀 的回复:
[quote=引用 1 楼 天际的海浪的回复:]一个状态值,作用是限制按钮的点击操作只有第一次有效。
if(!timer_is_on)这句是什么意思?[/quote] ! 是逻辑非运算符,timer_is_on的值初始为0,0在逻辑运算时等同于false。 !0 就等于 true ,也就是if判断成立,执行 timer_is_on=1; timedCount(); 当你再次调用 doTimer() 时 timer_is_on的值为1,1在逻辑运算时等同于true。 !1 就等于 false,也就是if判断不成立,不在执行timedCount()函数了。
天际的海浪 2019-08-18
  • 打赏
  • 举报
回复
一个状态值,作用是限制按钮的点击操作只有第一次有效。

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧