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

استبدل الكود بالكود الجديد لاني لم اجد الكود المذكور مطابقا تماما


الملفات المرفقة الشكل المصغر
   
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy
#12
هل تقصد البقاء على التنبيه حتى لو تم اغلاق رسالة التنبيه لمدة 5 دقائق ؟ 
اذا كان كذلك فهذا التعديل يقوم بذلك . 
كما يمكنك ابلاغي مساعدتك باضافة بقية اوقات الصلوات ان اردت 

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 endTime;
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() {
    endTime = new Date().getTime() + 60 1000;
    popupInterval setInterval(() => {
        if (new Date().getTime() >= endTime) {
            clearInterval(popupInterval);
            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(startFajrAlertdiff);
}

setInterval(updateCountdown1000);
scheduleFajr();
updateCountdown();
</
script>

</
body>
</
html
[صورة مرفقة: 177461173141861.gif]
الرد }}}
تم الشكر بواسطة: nnnjk , nnnjk
#13
استمر الكود عند اغلاق نافذة التنبيه لاكن عند تحديث الصفحه بعد 10 ثواني لم يخرج التنبيه
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy
#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
#15
اسف طولت معك
لم يعمل الكود الاخير

عمل الكود بارك الله فيك
لاكن لو امكن عند اغلاق النافذه لا يعاود فتحها

الكود الاخير لم يظبط بعد انتهاء مدة التنبيه يستمر خروج النافذه
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy
#16
لا لا ابداً ما فيه تاخير ولا شي 
الحل: نميز بين الحالتين 
قبل انتهاء الوقت -------إغلاق مؤقت
[*]بعد انتهاء الوقت ------- إغلاق نهائي

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 "3:20";
let popupInterval;
let endTime null;

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() {
    let now = new Date().getTime();

    if (now >= endTime) {
        clearInterval(popupInterval);
        localStorage.removeItem("fajrEndTime");
        closePopup();
    } else {
        closePopup();
    }
}

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

    popupInterval setInterval(() => {
        let now = new Date().getTime();

        if (now >= endTime) {
            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

(29-03-26, 03:53 AM)nnnjk كتب : لاكن لو امكن عند اغلاق النافذه لا يعاود فتحها

طيب بالحالة ذي انت تحتاج امر اغلاق ( اغلاق نهائي )
تأجيل يخفيه مؤقت ويرجع يفتح (مثلاً بعد 1 دقيقة حتى انقضاء مدة المهلة )
[صورة مرفقة: 177461173141861.gif]
الرد }}}
تم الشكر بواسطة: nnnjk
#17
تسلم
حتى بعد اغلاق النافذه يفتح مجددا

تسلم
حتى بعد اغلاق النافذه يفتح مجددا
الكود غير مظبوط
حتى بعد انتهاء مدة التنبيه يعاود التنبيه
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy
#18
طيب الحين سؤال ما مهمة ال 5 دقائق ؟
طالما المستخدم خلاص قام باغلاق التنبيه
و المطلوب الان عدم اعادة اظهار التنبيه
علماً بأن الخمسة دقائق لم تنته بعد ..

خلاص الان اتضحت لي الفكرة .
بعد اعلان وقت الصلاة الفعلي يظهر التنبيه الاول
ثم بعد ذلك 5 دقائق ياتي تنبيه التذكير بقضاء الصلاة
هل هذا هو المطلوب؟
[صورة مرفقة: 177461173141861.gif]
الرد }}}
تم الشكر بواسطة: nnnjk , nnnjk
#19
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 id="popupTitle">تنبيه صلاة الفجر</h3>
    <p id="popupMsg">حان الآن وقت صلاة الفجر</p>
    <button onclick="closePopupAndStartReminder()">إغلاق</button>
</
div>

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

<
script>
let fajrTime "04:07"// وقت الفجر المحدد مسبقًا
let reminderTimeout;
let reminderShown false;

function 
showPopup(title "تنبيه"msg "حان الآن وقت الصلاة") {
    document.getElementById("popupTitle").textContent title;
    document.getElementById("popupMsg").textContent msg;
    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 
closePopupAndStartReminder() {
    closePopup();
    if (!reminderShown) {
        let endReminderTime = new Date().getTime() + 60 1000
        localStorage.setItem("fajrReminderEnd"endReminderTime);
        startReminderCountdown(endReminderTime);
    }
}

function 
startReminderCountdown(endTime) {
    reminderShown true;
    reminderTimeout setInterval(() => {
        let now = new Date().getTime();
        if (now >= endTime) {
            clearInterval(reminderTimeout);
            localStorage.removeItem("fajrReminderEnd");
            showPopup("تذكير""يرجى قضاء صلاة الفجر");
        }
    }, 1000);
}

function 
startFajrAlert() {
    showPopup("تنبيه صلاة الفجر""حان الآن وقت صلاة الفجر");
}

function 
checkSavedReminder() {
    let savedEndTime localStorage.getItem("fajrReminderEnd");
    if (savedEndTime) {
        let now = new Date().getTime();
        if (now parseInt(savedEndTime)) {
            startReminderCountdown(parseInt(savedEndTime));
        } else {
            localStorage.removeItem("fajrReminderEnd");
        }
    }
}

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(startFajrAlertdiff);
}

setInterval(updateCountdown1000);
checkSavedReminder();
scheduleFajr();
updateCountdown();
</
script>

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


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

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


يقوم بقرائة الموضوع: