我遇到一些奇怪的事情,請看下面。爲什麼警報1輸出0,但警報2輸出正確的總和?它們被設置爲同樣的事情...將var設置爲兩個文本框值的總和爲0,怎麼樣?
var sumTotal = parseFloat($('#tb1').val()) + parseFloat($('#tb2').val());
//tb1.val() == 3, tb2.val() == 5;
1) alert(sumTotal); //Outputs 0;
2) alert(parseFloat($('#tb1').val()) + parseFloat($('#tb2').val())); //Outputs 8;
精確代碼:
$(document).ready(function() {
var koh = 1;
var sumTotal = parseFloat($('#tb1').val()) + parseFloat($('#tb2').val());
window.setInterval(function() {
// correct value
tb3.val(parseFloat($('#tb1').val()) + parseFloat($('#tb2').val()));
tb3.val(parseFloat(sumTotal)); // 0
tb3.val(sumTotal); // 0
tb3.val(koh++) //increments +1
}, 2500);
})
因爲KOH增量+1可這仍然是一個範圍的問題嗎?
是'sumTotal'被定義在與第二個警報表達式的運行時間不同的時間嗎? – 2010-08-17 17:24:44
您確定在達到警報時sumTotal處於範圍內嗎? – Fosco 2010-08-17 17:25:26
我在Firefox中進行了測試,並且#1和#2都收到了警報8 – Adam 2010-08-17 17:26:55