Calculate Income Based on Hourly Rate
function calculateIncome() {
var hourlyRate = parseFloat(document.getElementById("hourlyRate").value);
var hoursPerWeek = parseFloat(document.getElementById("hoursPerWeek").value);
var weeksPerYear = parseFloat(document.getElementById("weeksPerYear").value);
var annualIncomeResultElement = document.getElementById("annualIncomeResult");
annualIncomeResultElement.innerHTML = ""; // Clear previous result
if (isNaN(hourlyRate) || isNaN(hoursPerWeek) || isNaN(weeksPerYear) ||
hourlyRate < 0 || hoursPerWeek < 0 || weeksPerYear < 0) {
annualIncomeResultElement.innerHTML = "Please enter valid positive numbers for all fields.";
return;
}
var annualIncome = hourlyRate * hoursPerWeek * weeksPerYear;
annualIncomeResultElement.innerHTML = "$" + annualIncome.toFixed(2) + "";
}
.income-calculator-widget {
font-family: sans-serif;
border: 1px solid #ddd;
padding: 20px;
border-radius: 8px;
max-width: 700px;
margin: 20px auto;
background-color: #f9f9f9;
}
.income-calculator-widget h2.widget-title {
text-align: center;
color: #333;
margin-bottom: 25px;
}
.calculator-form .form-group {
margin-bottom: 15px;
display: flex;
align-items: center;
}
.calculator-form label {
flex: 1;
margin-right: 10px;
font-weight: bold;
color: #555;
}
.calculator-form input[type="number"] {
flex: 1.5;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 1rem;
}
.calculator-form button {
display: block;
width: 100%;
padding: 12px 20px;
background-color: #007bff;
color: white;
border: none;
border-radius: 5px;
font-size: 1.1rem;
cursor: pointer;
transition: background-color 0.3s ease;
margin-top: 20px;
margin-bottom: 20px;
}
.calculator-form button:hover {
background-color: #0056b3;
}
.result-section {
margin-top: 20px;
padding: 15px;
background-color: #e9ecef;
border: 1px solid #ced4da;
border-radius: 5px;
text-align: center;
}
.result-section h3 {
margin-top: 0;
color: #495057;
}
#annualIncomeResult {
font-size: 1.8rem;
font-weight: bold;
color: #28a745;
}
.calculator-explanation {
margin-top: 30px;
border-top: 1px solid #eee;
padding-top: 20px;
color: #666;
line-height: 1.6;
}
.calculator-explanation h3 {
color: #444;
margin-bottom: 15px;
}
.calculator-explanation strong {
color: #333;
}
.error {
color: #dc3545;
font-weight: bold;
}