用JS和HTML写等额本金
时间: 2023-10-11 09:07:04 浏览: 65
用html+js实现的等额本息贷款月供计算器
以下是一个用JS和HTML实现等额本金计算器的示例代码:
HTML代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>等额本金计算器</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<h1>等额本金计算器</h1>
<form>
<label for="total">借款总金额:</label>
<input type="number" id="total" name="total" required><br>
<label for="years">还款期限(年):</label>
<input type="number" id="years" name="years" required><br>
<label for="rate">年利率:</label>
<input type="number" id="rate" name="rate" required><br>
<button type="button" onclick="calculate()">计算</button>
</form>
<div id="results"></div>
</body>
</html>
```
JS代码:
```javascript
function calculate() {
// 获取表单中的数据
let total = +document.getElementById('total').value; // 借款总金额
let years = +document.getElementById('years').value; // 还款期限
let rate = +document.getElementById('rate').value; // 年利率
// 计算每月还款额和总利息
let monthlyPayment = total / (years * 12);
let totalInterest = 0;
let balance = total;
let results = '<h2>还款计划:</h2><table><tr><th>期数</th><th>本金</th><th>利息</th><th>月供</th><th>剩余本金</th></tr>';
for (let i = 1; i <= years * 12; i++) {
let interest = balance * (rate / 12); // 本月利息
let principal = monthlyPayment - interest; // 本月还款本金
balance -= principal; // 剩余本金
totalInterest += interest; // 累计总利息
results += `<tr><td>${i}</td><td>${principal.toFixed(2)}</td><td>${interest.toFixed(2)}</td><td>${monthlyPayment.toFixed(2)}</td><td>${balance.toFixed(2)}</td></tr>`;
}
results += '</table>';
results += `<p>每月还款额:${monthlyPayment.toFixed(2)}</p>`;
results += `<p>累计总利息:${totalInterest.toFixed(2)}</p>`;
// 显示计算结果
document.getElementById('results').innerHTML = results;
}
```
解释:
1. HTML代码中定义了一个表单,包含借款总金额、还款期限和年利率三个输入框,以及一个计算按钮和一个显示计算结果的`div`元素。
2. JS代码中定义了一个`calculate`函数,用于获取表单中的数据,计算每月还款额和总利息,并生成一个包含还款计划、每月还款额和累计总利息的HTML字符串。
3. `calculate`函数根据还款期限循环计算每个月的还款本金、利息和剩余本金,然后累计总利息和生成HTML字符串。
4. 计算结果通过修改`div`元素的`innerHTML`属性显示在页面上。
阅读全文