Advertisement
TZinovieva

Time Converter JS Advanced

Sep 28th, 2023
807
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function attachEventsListeners() {
  2.     const buttons = document.querySelectorAll('input[type="button"]');
  3.     const inputFields = {
  4.         days: document.getElementById("days"),
  5.         hours: document.getElementById("hours"),
  6.         minutes: document.getElementById("minutes"),
  7.         seconds: document.getElementById("seconds"),
  8.     };
  9.  
  10.     for (let i = 0; i < buttons.length; i++) {
  11.         buttons[i].addEventListener('click', function () {
  12.             const inputValue = Number(inputFields[buttons[i].id.replace("Btn", "")].value);
  13.             const inputUnit = buttons[i].id.replace("Btn", "");
  14.  
  15.             const conversionFactors = {
  16.                 days: { hours: 24, minutes: 1440, seconds: 86400 },
  17.                 hours: { days: 1 / 24, minutes: 60, seconds: 3600 },
  18.                 minutes: { days: 1 / 1440, hours: 1 / 60, seconds: 60 },
  19.                 seconds: { days: 1 / 86400, hours: 1 / 3600, minutes: 1 / 60 },
  20.             };
  21.  
  22.             for (const unit in inputFields) {
  23.                 if (unit !== inputUnit) {
  24.                     inputFields[unit].value = (inputValue * conversionFactors[inputUnit][unit]);
  25.                 }
  26.             }
  27.         });
  28.     }
  29. }
  30.  
  31.  
  32. OR
  33.  
  34. function attachEventsListeners() {
  35.     const daysInput = document.getElementById("days");
  36.     const hoursInput = document.getElementById("hours");
  37.     const minutesInput = document.getElementById("minutes");
  38.     const secondsInput = document.getElementById("seconds");
  39.  
  40.     document.getElementById("daysBtn").addEventListener("click", () => {
  41.         const days = parseFloat(daysInput.value);
  42.         hoursInput.value = days * 24;
  43.         minutesInput.value = days * 24 * 60;
  44.         secondsInput.value = days * 24 * 60 * 60;
  45.     });
  46.  
  47.     document.getElementById("hoursBtn").addEventListener("click", () => {
  48.         const hours = parseFloat(hoursInput.value);
  49.         daysInput.value = hours / 24;
  50.         minutesInput.value = hours * 60;
  51.         secondsInput.value = hours * 60 * 60;
  52.     });
  53.  
  54.     document.getElementById("minutesBtn").addEventListener("click", () => {
  55.         const minutes = parseFloat(minutesInput.value);
  56.         daysInput.value = minutes / (24 * 60);
  57.         hoursInput.value = minutes / 60;
  58.         secondsInput.value = minutes * 60;
  59.     });
  60.  
  61.     document.getElementById("secondsBtn").addEventListener("click", () => {
  62.         const seconds = parseFloat(secondsInput.value);
  63.         daysInput.value = seconds / (24 * 60 * 60);
  64.         hoursInput.value = seconds / (60 * 60);
  65.         minutesInput.value = seconds / 60;
  66.     });
  67. }
  68.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement