-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcheck.js
More file actions
32 lines (31 loc) · 1.29 KB
/
Copy pathcheck.js
File metadata and controls
32 lines (31 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
window.addEventListener('DOMContentLoaded', function() {
const hourlyRateInput = document.getElementById('hourlyRate');
const hoursWorkedInput = document.getElementById('hoursWorked');
const calculateBtn = document.getElementById('calculateBtn');
const outputDiv = document.getElementById("output");
hourlyRateInput.addEventListener("input", enableCalculateBtn);
hoursWorkedInput.addEventListener("input", enableCalculateBtn);
calculateBtn.addEventListener("click", calculateEarnings);
function enableCalculateBtn() {
if (hourlyRateInput.value && hoursWorkedInput.value) {
calculateBtn.disabled = false;
} else {
calculateBtn.disabled = true;
}
}
function calculateEarnings() {
const hourlyRate = parseFloat(hourlyRateInput.value);
const hoursWorked = parseTimeToSeconds(hoursWorkedInput.value);
if (!isNaN(hourlyRate) && !isNaN(hoursWorked)) {
const earnings = (hourlyRate * hoursWorked) / 3600;
outputDiv.textContent = earnings + "₽";
}
}
function parseTimeToSeconds(time) {
const timeArr = time.split(':');
const hours = parseInt(timeArr[0]);
const minutes = parseInt(timeArr[1]);
const seconds = parseInt(timeArr[2]);
return (hours * 3600) + (minutes * 60) + seconds;
}
});