2014-10-17 299 views
-2

我有一個變量,我只想在for循環中滿足條件時遞增。 if語句中的其他代碼完美工作,但變量不會增加。是否有可能在jQuery中做到這一點?在for循環中增加變量

這裏是什麼,我一直在嘗試一個簡單的例子:

var i = 0; 
for (var c = 1; c < 3; c++) { 
    if(condition){ 
     i++; 
    } 
} 

編輯:我對我的問題是有點不清楚道歉。

這裏是我真正想要做:

<button id="showNew">Show Next Button</button> 

<button id='button1' style="display:none;">Button 1</button> 
<button id='button2' style="display:none;">Button 2</button> 
<button id='button3' style="display:none;">Button 3</button> 

<span id="value1" style="display:none;">123</span> 
<span id="value2" style="display:none;">456</span> 
<span id="value3" style="display:none;">0</span> 

<script> 
var i = 0; 
for (var c = 1; c < 3; c++) { 
    var start = jQuery('#value' + c).text(); 

    if(start != "0"){ 
     jQuery('#button' + c).show(); 
     i++; 
    } 
} 

jQuery(document).ready(function() { 
    jQuery('#showNew').on("click", function() { 
     jQuery('#button' + ++i).show(); 
     return false; 
    }); 
}); 
</script> 

前兩個按鈕顯示在頁面加載時,但我必須點擊「#showNew」按鈕3次顯示第三個按鈕之前。

我做了一個jsFiddle它工作正常,所以必須與我的網站上的其他內容發生衝突。奇怪的是,如果我把「提醒(我);」緊接在我網站上的for循環之後,我得到了我正在尋找的數字(2)。由於某種原因,它在到達onclick後似乎將「i」重置爲零。

+2

哪些變量?這就是'C++'的一點。這裏不需要jQuery。 – 2014-10-17 20:44:02

+1

什麼是條件?它沒有定義,所以'i ++'部分永遠不會執行。 – 2014-10-17 20:44:55

+2

你有什麼看起來不錯,假設條件是真的。你能給我們一個可重複的例子嗎? – 2014-10-17 20:44:57

回答

0

最後我解決我自己的問題。由於「我」在onClick之前是正確的,我創建了一個值爲「i」的新變量。

var m = i; 

jQuery(document).ready(function() { 
    jQuery('#showNew').on("click", function() { 
     jQuery('#button' + ++m).show(); 
     return false; 
    }); 
}); 

我還是不明白,爲什麼「我」被重置,一旦它到達的onClick雖然

0

此代碼片段可以像你想要的那樣工作。我剛剛用true替換condition。它提醒1,然後2

var i = 0; 
 
for (var c = 1; c < 3; c++) { 
 
    if(true) { 
 
     i++; 
 
     alert(i); 
 
    } 
 
}

+3

「我不能重現問題」和「你的代碼工作正常」是有幫助的,但他們應該是評論,而不是答案。 – 2014-10-17 20:50:12

+0

我沒有說我不能重現問題,或者他的代碼工作正常。我說我發佈在我的答案中的代碼片段按提問者希望他工作的方式工作。所以也許他們可以比較兩者,看看他們的代碼可能有什麼問題。 – Zack 2014-10-17 21:25:03