Kopējā summa produktu kalkulatorā JavaScript
Tagad darīsim tā, lai zem tabulas tiktu izvadīta kopējā pirkumu summa. Šeit ir nianses.
Ja padomājam par situāciju, kļūst skaidrs, ka summai jākoriģējas ne tikai pievienojot jaunu pirkumu, bet arī dzejot un rediģējot.
Es šādā gadījumā ieteiktu izveidot noteiktu
funkciju, sauksim to par recountTotal,
kas veiks pilnīgu pārrēķinu
summas. Tā cilpā dosies cauri
visiem pirkumiem un summēs to kolonnas
cost saturu.
Izmantojot šādu funkciju, mēs varēsim to izsaukt jebkurā vietā, kur tiek pieņemti kādi kopējās summas izmaiņas. Protams, tas ir mazliet neoptimāli katru reizi aprēķināt kopējo summu. Taču mēs iegūsim ievērojamu koda vienkāršojumu.
Izmantosim paredzēto funkciju, veidojot jaunu pirkumu:
add.addEventListener('click', function() {
let tr = document.createElement('tr');
createCell(tr, name.value, 'name');
createCell(tr, price.value, 'price');
createCell(tr, amount.value, 'amount');
createCell(tr, price.value * amount.value, 'cost');
createCell(tr, 'dzēst', 'remove');
table.appendChild(tr);
recountTotal(); // pārrēķināsim kopējo summu
});
Šeit ir aprakstītās funkcijas sagatave:
function recountTotal() {
let costs = table.querySelectorAll('.cost');
if (costs) {
// atrodam summu un ierakstām to #total
}
}
Realizējiet manis aprakstīto funkciju recountTotal.