تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[كود] اريد كودجافا نافذه تخرج بوقت بدون تحديث الصفحه
#14
صحيح احسنت هذه التفاتة مهمة 
في حال تحديث الصفحة يتم إعادة حساب الوقت من جديد 
الحل هو حفظ وقت انتهاء التنبيه في localStorage حتى يبقى محفوظ حتى بعد التحديث

PHP كود :
<!DOCTYPE html>
<
html lang="ar">
<
head>
<
meta charset="UTF-8">
<
title>تنبيه صلاة الفجر</title>
<
style>
#overlay {
    displaynone;
    positionfixed;
    width100%;
    height100%;
    backgroundrgba(0,0,0,0.5);
    top0;
    left0;
}
#popup {
    displaynone;
    positionfixed;
    top50%;
    left50%;
    transformtranslate(-50%, -50%);
    background#fff;
    padding20px;
    border-radius10px;
    text-aligncenter;
}
#countdown {
    font-size18px;
    margin-top20px;
    text-aligncenter;
}
button {
    margin-top10px;
}
</
style>
</
head>
<
body>

<
div id="overlay"></div>

<
div id="popup">
    <h3>تنبيه صلاة الفجر</h3>
    <p>حان الآن وقت صلاة الفجر</p>
    <button onclick="temporaryClose()">إغلاق</button>
</
div>

<
div id="countdown"></div>

<
script>
const 
fajrTime "05:10";
let popupInterval;

function 
showPopup() {
    document.getElementById("popup").style.display "block";
    document.getElementById("overlay").style.display "block";
}

function 
closePopup() {
    document.getElementById("popup").style.display "none";
    document.getElementById("overlay").style.display "none";
}

function 
temporaryClose() {
    closePopup();
}

function 
startFajrAlert(savedEndTime null) {
    let endTime savedEndTime || (new Date().getTime() + 60 1000);
    localStorage.setItem("fajrEndTime"endTime);

    popupInterval setInterval(() => {
        let now = new Date().getTime();
        if (now >= endTime) {
            clearInterval(popupInterval);
            localStorage.removeItem("fajrEndTime");
            closePopup();
        } else {
            showPopup();
        }
    }, 1000);
}

function 
updateCountdown() {
    let now = new Date();
    let [hourminute] = fajrTime.split(":");
    let fajrDate = new Date();
    fajrDate.setHours(parseInt(hour));
    fajrDate.setMinutes(parseInt(minute));
    fajrDate.setSeconds(0);
    if (fajrDate now) {
        fajrDate.setDate(fajrDate.getDate() + 1);
    }
    let diff fajrDate now;
    let hours Math.floor(diff 1000 60 60);
    let minutes Math.floor((diff 1000 60) % 60);
    let seconds Math.floor((diff 1000) % 60);
    document.getElementById("countdown").textContent =
        `الوقت المتبقي لصلاة الفجر: ${hours} ساعة، ${minutes} دقيقة، ${seconds} ثانية`;
}

function 
scheduleFajr() {
    let now = new Date();
    let [hourminute] = fajrTime.split(":");
    let fajrDate = new Date();
    fajrDate.setHours(parseInt(hour));
    fajrDate.setMinutes(parseInt(minute));
    fajrDate.setSeconds(0);
    if (fajrDate now) {
        fajrDate.setDate(fajrDate.getDate() + 1);
    }
    let diff fajrDate now;
    setTimeout(() => startFajrAlert(), diff);
}

function 
checkSavedAlert() {
    let savedEndTime localStorage.getItem("fajrEndTime");
    if (savedEndTime) {
        startFajrAlert(parseInt(savedEndTime));
    }
}

setInterval(updateCountdown1000);

checkSavedAlert();
scheduleFajr();
updateCountdown();
</
script>

</
body>
</
html
[صورة مرفقة: 177461173141861.gif]
الرد }}}
تم الشكر بواسطة: nnnjk , nnnjk


الردود في هذا الموضوع
RE: اريد كودجافا نافذه تخرج بوقت بدون تحديث الصفحه - بواسطة Amir_Alzubidy - 29-03-26, 03:45 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [كود] اريد كود جافا مضى من الوقت على تاريخ معين nnnjk 7 498 28-03-26, 05:05 AM
آخر رد: nnnjk
  [كود] اريد كود جافا نافذه تخرج بين وقتين nnnjk 12 749 24-03-26, 10:20 PM
آخر رد: Amir_Alzubidy

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم