[英]javascript adding a constant to a variable
我正在嘗試驗證用戶輸入的值是否在等於先前用戶輸入的數字加/減常數的范圍內,但是腳本似乎只能識別該范圍的下限,而上限始終是先前的用戶輸入的數字加上任何小於1的值(又名用戶輸入了55,因此55.999999可以工作,但56變成紅色)。 碼:
if (BUNO.rawValue>=164865){
if (Auto1Right.rawValue>=45 && Auto1Right.rawValue<=75)
{
var eleven = 11.00;
var auto2min=Auto1Right.rawValue-eleven;
var five = 5.70;
var auto2max=Auto1Right.rawValue+five;
if (this.rawValue>=auto2min&&Man2Right.rawValue<=auto2max)
{
Man2Right.fillColor="0,255,0";
}
}
else
{
Man2Right.fillColor="255,0,0";
}
}
我認為您可能只有一個小錯字。 你這里有兩個等號
var auto2max==Auto1Right.rawValue+five;
它可能看起來應該像這樣:
var auto2max = Auto1Right.rawValue + five;
顯然,可以通過將“ +”符號更改為“-”符號並將變量值更改為負數來避免這種情況。
我不知道為什么在不將變量更改為字符串的情況下為什么不使用“ +”進行添加。 根據我能找到的一切,“ +”符號應同時添加數字和字符串。
聽起來好像rawValue被解釋為字符串,而不是數字。 您是否嘗試過轉換變量 ?
if ( parseFloat(BUNO.rawValue) >= 164865 ){
var a1r = parseFloat(Auto1Right.rawValue)
if (a1r>=45 && a1r<=75)
{
var eleven = 11.00;
var auto2min=Auto1Right.rawValue-eleven;
var five = 5.70;
var auto2max = a1r + five;
var thisRV = parseFloat(this.rawValue) ;
var m2RV = parseFloat(Man2Right.rawValue) ;
if (thisRV>=auto2min && m2RV<=auto2max)
{
Man2Right.fillColor="0,255,0";
}
}
else
{
Man2Right.fillColor="255,0,0";
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.