2015-11-07 86 views
-2

聲明,我剛剛開始使用Javascript,很抱歉,如果這是一個簡單的問題,找不到對谷歌或在這裏的答案。運行多個,如果每一次

我有一個變量,以後每次我按下一個按鈕,它增加了許多針對該功能運行,檢查,如果VAR數量是一定的數量和其他數之間,如果是寫東西的功能。

問題是,我現在有大約4 if語句也重疊,但因爲他們是if語句只是檢查的第一個真正的,當且僅打印出的那一個。

如果我想打印所有正確的陳述是什麼?有沒有辦法做到這一點?

下面的代碼

<!DOCTYPE html> 
<html> 
<body> 

<script> 
var check = 0; 
function numberchecker() { 
     document.getElementById("container").innerHTML = "Hello world"; 
      if (check > 1 && check < 7) { document.getElementById("container").innerHTML = "Check 1";}; 
      if (check > 4 && check < 8) { document.getElementById("container").innerHTML = "Check 2"; } ;   
      if (check > 6 && check < 10) { document.getElementById("container").innerHTML = "Check 3";}; 
    console.log(check); 
} ; 

function addone() {check = check + 1; numberchecker()} ; 
</script> 

<p id="container"></p> 
     <button onclick="addone()">Add One</button> 
</body> 
</html> 
+0

你能告訴你的任何'如果condition'的? – Rayon

+0

不要使用'if if if',爲每個使用單獨的'if'模式。 – rajuGT

+0

刪除它們之間的'else'。使用4'if's(假設它們都不導致封閉函數返回)。 – Joseph

回答

0

我覺得你的問題是,你overwirte前分配document.getElementById("container").innerHTML = ...的結果。你只得到最後一個支票分配。

(小提示:對於block語句大括號不需要右括號後面的semicolon

var check = 0; 
 

 
function numberchecker() { 
 
    document.getElementById("container").innerHTML = "check: "+check+"<br>Hello world"; 
 
    if (check > 1 && check < 7) { 
 
     document.getElementById("container").innerHTML += "<br>Check 1"; 
 
    } 
 
    if (check > 4 && check < 8) { 
 
     document.getElementById("container").innerHTML += "<br>Check 2"; 
 
    } 
 
    if (check > 6 && check < 10) { 
 
     document.getElementById("container").innerHTML += "<br>Check 3"; 
 
    } 
 
    console.log(check); 
 
} 
 

 
function addone() { 
 
    check = check + 1; numberchecker() 
 
}
<p id="container"></p> 
 
<button onclick="addone()">Add One</button>

0

例如,你可以添加你的文字(「檢查1」或「檢查2」等)。當if語句的計算結果爲真時,使用數組push()方法將數組轉換爲數組。

當所有的if語句進行檢查,可以打印數組的內容。

如果有結果數組中沒有的項目,你會發現你默認文本「Hello World」。

如果結果數組中有元素,則可以使用數組join()方法將結果數組中的元素連接到一個字符串中。

例如:

var check = 0; 
 
    function numberchecker() { 
 
     var result = []; 
 
     document.getElementById("container").innerHTML = "Hello world"; 
 
     if (check > 1 && check < 7) { result.push("Check 1");} 
 
     if (check > 4 && check < 8) { result.push("Check 2");} 
 
     if (check > 6 && check < 10) { result.push("Check 3");} 
 
     if (result.length !== 0) { 
 
      document.getElementById("container").innerHTML = "True statements: " + result.join(); 
 
     } 
 
     console.log(check); 
 
    } 
 

 
    function addone() {check = check + 1; numberchecker()}
<button onclick="addone()">Add One</button> 
 
<p id="container"></p>