嘿傢伙尋找一些幫助改變基於價值的文本顏色。如果值爲零或負值,我希望它是紅色的,如果值是+我希望它是綠色的。下面是完整html中的一小段代碼,但我認爲這些是關鍵部分。 Here is a JSFiddle正如你所看到的,表格是動態的。在您將數據輸入到起始金額時,它會自動計算結束金額。起始金額增加了產生總金額數量的賬單金額。我也不確定事件「onchange」是否正確。感謝您的意見和建議。使用Javascript動態改變顏色或文本的價值
<p><b>Starting Amount: $ <input id="money" type="number" onkeyup="calc()"></b></p>
<table>
<tr>
<th>Bill Ammount</th>
</tr>
<tr>
<td><input type="number" class="billAmt" id="billAmt" onkeyup="calc()"> </td>
</tr>
</table>
<input type="hidden" id="total" name="total" value="0">
<p><b>Ending Amount: $ <span id="totalAmt" onchange="colorChange(this)">0</span></b></p>
<script type="text/Javascript">
var myElement = document.getElementById('totalAmt');
function colorChange() {
if('myElement' > 0) {
totalAmt.style.color = 'green';
} else {
totalAmt.style.color = 'red';
}
}
function calc() {
var money = parseInt(document.querySelector('#money').value) || 0;
var bills = document.querySelectorAll('table tr input.billAmt') ;
var billTotal = 0;
for (i = 0; i < bills.length; i++) {
billTotal += parseInt(bills[i].value) || 0;
}
totalAmt.innerHTML = money + billTotal;
}
</script>
您的變量名爲'myElement'但是你在java的其他地方使用'totalAmt'腳本。將'var myElement = ...'變成'var totalAmt = ...',你的一些代碼將開始工作。 –
onChange不能在span元素上工作,只需將您的顏色更改代碼移動到calc的末尾,然後將totalAmt.style.color設置爲您需要的任何顏色即可。 – Martina