即使该按钮具有"停止计时器",它也会在"启动计时器"内运行代码。 IF,在函数Process.Start(CStr(Me.ListBox1.SelectedValue))
内:
TimerOnOff()
答案 0 :(得分:1)
单个=
符号用于为变量赋值。您希望使用==
或===
来比较/检查值。
答案 1 :(得分:1)
在您评估If语句中的值时,您需要==
而不是=
答案 2 :(得分:1)
在if
条件中检查相等性时,您需要使用双等于==
或三等于===
。
这样做:
if (document.getElementById('BtnTimerOnOff').textContent == "Start timer")
不是这个:
if (document.getElementById('BtnTimerOnOff').textContent = "Start timer")
答案 3 :(得分:1)
The Probelm
你没有停止计时器。当你致电display()
时,它会无限期地运行。你需要使用旗帜或其他东西。
我稍微使用了您的代码,并提出了这个问题 - http://jsbin.com/xusasatewi/1/edit?html,console,output
答案 4 :(得分:0)
<!DOCTYPE html>
var milisec=0
var seconds=0
document.d.d2.value='0'
var onoff=0;
function display(){
if (milisec>=9){
milisec=0;
seconds+=1
}
else
milisec+=1
document.d.d2.value=seconds+"."+milisec
setTimeout("display()",100)
}
function TimerOnOff(){
var a = document.getElementById('BtnTimerOnOff').textContent
//var b;
alert(document.getElementById('BtnTimerOnOff').textContent)
if (document.getElementById('BtnTimerOnOff').textContent === "Start timer") {
document.getElementById('BtnTimerOnOff').textContent = "Stop timer"
a = document.getElementById('BtnTimerOnOff').textContent
alert(document.getElementById('BtnTimerOnOff').textContent)
alert('aaa')
display()
}
else if (document.getElementById('BtnTimerOnOff').textContent === "Stop timer"){
a = document.getElementById('BtnTimerOnOff').textContent
alert("Stop the timer")
}
}
</script>
启动计时器 在线时间
的秒!强>
答案 5 :(得分:0)
首先,您需要在if语句中使用==
或===
代替=
:if (document.getElementById('BtnTimerOnOff').textContent = "Start timer") {
应为if (document.getElementById('BtnTimerOnOff').textContent == "Start timer") {
=
是一个赋值运算符,例如如果您运行var x = 1;
,则x
的值为1
。
==
是一个比较运算符,用于检查某事物的值是否等于其他值。例如if(x == 1)
将评估为true
,因此if(x == true)
会评估1
评估为true
,0
评估为false
。< / p>
===
是另一个比较运算符,它检查某事物的值是否等于其值,并且与其他事物的类型相同。例如if(x === 1)
将评估为true
但if(x === true)
将评估为false
,因为1
(x
的值)为integer
}和true
是boolean
。
此外,您应该将超时保存在变量var timeout = setTimeout("display()",100);
中,以便清除它以停止计时器:clearTimeout(timeout);