Untitled

mail@pastecode.io avatar
unknown
javascript
2 years ago
1.7 kB
5
Indexable
Never
// تعریف متغیرها برای دقیقه، ثانیه، میلی ثانیه و شمارنده
let minute = 0;
let second = 0;
let millisecond = 0;
let counter = 10;

// تابع تایمر معکوس
function countdown() {
  // اگر شمارنده صفر شد، تایمر معکوس متوقف می شود
  if (counter === 0) {
    clearInterval(timer);
    return;
  }

  // اگر میلی ثانیه کوچکتر از 10 باشد، عدد صد را به عدد میلی ثانیه اضافه کرده و ارزش میلی ثانیه را برابر صفر قرار می دهیم
  if (millisecond < 10) {
    millisecond += 100;
  } else {
    // در غیر این صورت، یک صدم ثانیه را از میلی ثانیه کم می کنیم
    millisecond -= 10;
    // اگر میلی ثانیه برابر با صفر شد، ثانیه را یک واحد افزایش داده و ارزش میلی ثانیه را برابر 990 قرار می دهیم
    if (millisecond === 0) {
      second++;
      millisecond = 990;
      // اگر ثانیه برابر با 60 شد، دقیقه را یک واحد افزایش داده و ارزش ثانیه را برابر صفر قرار می دهیم
      if (second === 60) {
        minute++;
        second = 0;
      }
    }
  }

  // نمایش تایمر معکوس در کنسول
  console.log(`${minute < 10 ? "0" : ""}${minute}:${second < 10 ? "0" : ""}${second}:${millisecond < 100 ? "0" : ""}${millisecond < 10 ? "0" : ""}${millisecond}:${counter}`);

  // کاهش شمارنده
  counter--;
}

// فراخوانی تابع تایمر معکوس هر یک ثانیه
const timer = setInterval(countdown, 1000);