亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為啥我這個stop 按鈕只有第一次有效 而start 一直有效

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>定時器</title>

<style type="text/css">

#clock{background:red #339border:2px dashed blue }

h1{text-align:center }

h1{color:red}

.aa{color:blue}

</style>


</head>

<body>

<h1>顯示時間</h1>


<script type="text/javascript">


?// var attime;

? function clock(){

var time=new Date(); ? ? ? ? ?

? ? attime=time.getHours()+":"+time.getMinutes()+":"+time.getSeconds();

? ? document.getElementById("clock").value = attime;

?}

?var i=setInterval(clock,1000);

?function b()

?{var i=setInterval(clock,1000)}

?function c()

?{

var cc=clearInterval(i,1000)

}

? </script>

<form>

<input type="button" id="clock" size="50" ?value="clock()"/>

</form>

<p class="aa">我有一所房子,面朝大海春暖花開。</p>

<p>喂馬 劈柴 周游世界</p>

<input type="button" value="start" onClick="b()">

<input type="button" value="stop" onClick="c()">

</body>

</html>


正在回答

4 回答

?var?i=setInterval(clock,1000);
?function?b()
?{var?i=setInterval(clock,1000)}
?function?c()
?{
var?cc=clearInterval(i,1000)
}


這段里面你的返回的i你定義了兩次,一個在b()外,一個在b內,這樣的話,就是定義兩個i,而不是共用一個,你只是stop
了b()外面的那一個,里面的那個你無法去停止,因為c()里的i不能調用b()里面的i,你可以修改代碼,把b()里面的var去掉就好了


0 回復 有任何疑惑可以回復我~

大神寫的,很好用

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>計時器</title>

<script type="text/javascript">

? var num=0;

? var i;

? function startCount(){

? ? document.getElementById('count').value=num;

? ? num=num+1;

? ? i=setTimeout("startCount()",1000);

? }

? flag=0;

? function stopCount(){

? ? ? if(flag==0){

? ? ? ? ? flag=1;

? ? ? ? ? document.getElementById('but').value="Stop";

? ? ? startCount();

? ? ? }else{

? ? ? ? ? clearTimeout(i);

? ? ? ? ? flag=0;

? ? ? ? ? document.getElementById('but').value="Start";

? ? ? }

? }

? function ce(){

? ? ? if(flag==0){

? ? ? document.getElementById('count').value="清除完畢!";

? ? ? num=0;

? ? ? setTimeout("document.getElementById('count').value=num",1000);

? ? ? }

? }

</script>

</head>

<body>

? <form>

? ? <input type="text" id="count" />

? ? <input type="button" id="but" value="Start" onclick="stopCount()" />

? ? <input type="button" value="Clear" ?onclick="ce()" />

? </form>

</body>

</html>


0 回復 有任何疑惑可以回復我~
#1

三金伏夢

看來大神也不能停止時間啊。
2017-09-21 回復 有任何疑惑可以回復我~

你有兩個設定計時器的方法而且返回值都賦給了i第一個是一開始啟動的,第二個是一直在執行的,你需要把function b里的變量定義到function b函數的上邊換一個變量名,就是這樣

var?result;
var?i?=?setInterval(clock,1000);
function?b()
{
????result?=?setInterval(clock,1000);
}
function?c()
{
????clearInterval(result,1000);
}


0 回復 有任何疑惑可以回復我~

var i=setInterval('clock()',1000);

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為啥我這個stop 按鈕只有第一次有效 而start 一直有效

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號