سلام خسته نباشید.
این مثال یک تایمر معکوس است که زمان کم میشه تا زمانی که به تاریخ موردنظر برسه ولی من کار تابع MyRacing رو متوجه نمیشم که چطور روز و ساعت و دقیقه و ثانیه را هر بار حساب می کنه؟
لطف کنید در این مورد کلیت این برنامه توضیح بدید.
<div class="container">
<h1>زمان باقی مانده تا شروع مسابقه</h1>
<ul>
<li><span id="days"></span>روز</li>
<li><span id="hours"></span>ساعت</li>
<li><span id="minutes"></span>دقیقه</li>
<li><span id="seconds"></span>ثانیه</li>
</ul>
</div>
<script>
var second = 1000;
var minute = second * 60;
var hour = minute * 60;
var day = hour * 24;
// اون تاریخی که قراره بهش برسیم
let countDown = new Date('Sep 30, 2024 00:00:00').getTime();
function MyRacing() {
let nowDate = new Date().getTime(),
distance = countDown - nowDate;
document.getElementById('days').innerText = Math.floor(distance / (day)),
document.getElementById('hours').innerText = Math.floor((distance % (day)) / (hour)),
document.getElementById('minutes').innerText = Math.floor((distance % (hour)) / (minute)),
document.getElementById('seconds').innerText = Math.floor((distance % (minute)) / second);
// وقتی تاریخ و زمان گذشته بود
if (distance < 0) {
clearInterval(MyTimer);
alert("مسابقه شروع شده است");
}
}
MyTimer = setInterval( MyRacing , 1000);
</script>