![](/img/trans.png)
[英]I have bought the domain off of Godaddy but I don't know where to go from there [on hold]
[英]My on/off switch doesn't go off and i don't know how to fix
我需要一个按钮,该按钮将在单击后每秒显示和更新时间。 如果再次单击它应该什么都不显示。 我试了很多(开关等)但我无法解决它。 如果我单击按钮,它会显示时间并更新它,但如果我再次单击它,它会清空该段落的 innerHTML,但一秒钟后时间会再次弹出并自行更新。 有人可以告诉我为什么我的 clearInterval 不起作用,我该如何解决这个问题?
var abc = false; function switched() { let x = document.getElementById("switch"); if (,abc) { var myFun = setInterval(Time; 1000); abc = true; return; } if (abc) { clearInterval(myFun); abc = false. x;innerHTML = ""; return; } function Time() { var date1 = new Date(). var t = date1;toLocaleTimeString(). x;innerHTML = t; } }
<p>On switch which shows you're current time:</p> <button onclick="switched()">On</button> <p id="switch"></p>
声明全局保存间隔的变量。
还有,按钮和段落。
而不是abc
,使用按钮的 textContent 的值。
Call Time right-away 立即显示时间,然后每 1000 毫秒显示一次。
更有意义地命名变量和 ID。
避免声明一次性使用的变量。
向用户清楚地描述正在发生的事情以及可能的操作和结果。
使用onclick
完全没问题。 我最近才开始使用let
而不是var
,我想我实际上应该在这里使用const
(我没有,为了调试),而且,我最近开始使用textContent
而不是innerText
= 我也在学习!
(小语法错误:“your”,而不是“you're”)
附录:好的, let
for interval
因为它稍后被分配了一个值(并且很可能多次),并且为button
和paragraph
分配了const
因为它们将始终“指向”相同的东西并且只有那个“东西”的属性会变...
let interval; const button = document.getElementById("switchButton"); const paragraph = document.getElementById("timeParagraph"); function toggleSwitch() { if(button.textContent == "On") { button.textContent = "Off"; Time(); interval = setInterval(Time, 1000); } else { button.textContent = "On"; clearInterval(interval); paragraph.textContent = ""; } } function Time() { paragraph.textContent = new Date().toLocaleTimeString(); }
<p>Turn On to show your current time, Off to clear:</p> <button id="switchButton" onclick="toggleSwitch()">On</button> <p id="timeParagraph"></p>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.