Document .loan-calculator { font-family: "Poppins", -apple-sys; width: 600px; margin: 40px auto; background: #fff; box-shadow: 0 12px 50px -11px rgba(0, 0, 0, 0.2); border-radius: 8px; color: #14213d; overflow: hidden; } .loan-calculator, .loan-calculator * { box-sizing: border-box; } .loan-calculator .top { background: #181D2B; color: #fff; padding: 18px; } .loan-calculator .top h2 { margin-top: 0; margin: 8px 8px; color: #FFF; text-align: center; } .loan-calculator form { display: flex; margin: 8px 8px; gap: 8px; justify-content: space-between; } .loan-calculator .title { margin: 8px 8px; font-size: 18px; } .loan-calculator form input { font-size: 16px; margin: 0px 8px; padding: 6px 20px; width: 100%; } .loan-calculator .result { display: flex; justify-content: space-between; align-items: center; } .loan-calculator .result .left { width: 100%; padding: 18px; } .loan-calculator .left p { font-size: 16px; margin: 8px 8px 0px 8px; color: #004188; } .loan-calculator .result .value { font-size: 16px; padding: 8px; border-bottom: 1px solid rgba(20, 33, 61, 0.2); } .loan-calculator .result .value1 { font-size: 16px; padding: 8px; } .loan-calculator .result .value::before { content: "Nu"; font-size: 16px; margin-right: 6px; opacity: 0.31; } .loan-calculator .result .value1::before { content: "Nu"; font-size: 16px; margin-right: 6px; opacity: 0.31; } .loan-calculator .calculate-btn { background: #F40000; color: #fff; border: none; padding: 12px 32px; border-radius: 8px; font-size: 16px; cursor: pointer; margin: 8px 8px; } .loan-calculator .close-btn { background: #F40000; color: #fff; border: none; padding: 12px 32px; border-radius: 8px; font-size: 16px; cursor: pointer; margin: 8px 8px; } .loan-calculator .disable { pointer-events: none; opacity: 0.5; } .loan-calculator .reset-btn { background: #252D60; color: #fff; border: none; padding: 12px 32px; border-radius: 8px; font-size: 16px; cursor: pointer; margin: 8px 8px; } .loan-calculator .right { width: 50%; } @media (max-width: 650px) { .loan-calculator { width: 90%; max-width: 500px; } .loan-calculator form { flex-direction: column; gap: 20px; } .loan-calculator .result { flex-direction: column; text-align: center; } } const loanAmountInput = document.getElementById("loan-amount"); const interestRateInput = document.getElementById("interest-rate"); const loanTenureInput = document.getElementById("loan-tenure"); const loanEMIValue = document.getElementById("loan-emi-value"); const totalInterestValue = document.getElementById("total-interest-value"); const totalAmountValue = document.getElementById("total-amount-value"); const calculateBtn = document.getElementById("calculate-btn"); const resetBtn = document.getElementById("reset-btn"); let loanAmount = parseFloat(loanAmountInput.value); let interestRate = parseFloat(interestRateInput.value); let loanTenure = parseFloat(loanTenureInput.value); let interest = interestRateInput.value / 12 / 100; const refreshInputValues = () => { loanAmount = parseFloat(loanAmountInput.value); interestRate = parseFloat(interestRateInput.value); loanTenure = parseFloat(loanTenureInput.value); interest = interestRate / 12 / 100; }; const calculateEMI = () => { refreshInputValues(); let emi = loanAmount * interest * (Math.pow(1 + interest, loanTenure) / (Math.pow(1 + interest, loanTenure) - 1)); return emi; }; const updateData = (emi) => { roundedEmi = Math.round(emi * 100) / 100; loanEMIValue.innerHTML = roundedEmi; let totalAmount = Math.round(roundedEmi * loanTenure * 100) / 100; totalAmountValue.innerHTML = totalAmount; let totalInterestPayable = Math.round((totalAmount - loanAmount) * 100) / 100; totalInterestValue.innerHTML = totalInterestPayable; }; const init = () => { let emi = calculateEMI(); updateData(emi); }; // init(); calculateBtn.addEventListener("click", init); const resetEmiCalculation = () => { loanAmountInput.value = ""; interestRateInput.value = ""; loanTenureInput.value = ""; totalAmountValue.innerHTML = "0.00"; loanEMIValue.innerHTML = "0.00"; totalInterestValue.innerHTML ="0.00"; validInput(); validReset(); }; resetBtn.addEventListener("click", resetEmiCalculation); loanAmountInput.addEventListener("input", function(event) { validInput(); validReset(); }); interestRateInput.addEventListener("input", function(event) { validInput(); validReset(); }); loanTenureInput.addEventListener("input", function(event) { validInput(); validReset(); }); const validInput = () => { if (loanAmountInput.value > 0 && interestRateInput.value > 0 && loanTenureInput.value > 0) { calculateBtn.classList.remove('disable'); } else { calculateBtn.classList.add('disable'); }; }; const validReset = () => { if (loanAmountInput.value > 0 || interestRateInput.value > 0 || loanTenureInput.value > 0) { resetBtn.classList.remove('disable'); } else { resetBtn.classList.add('disable'); }; } // Function to open the popup container function openPopup() { var popup = document.getElementById('popup'); popup.style.display = 'block'; } // Function to close the popup container function closePopup() { var popup = document.getElementById('popup'); popup.style.display = 'none'; } // Attach event listeners to the open and close buttons // document.getElementById('open-popup-btn').addEventListener('click', openPopup); // document.getElementById('close-popup-btn').addEventListener('click', closePopup);