jscript / html всплывающее окно в указанное время - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь настроить всплывающее сообщение в определенное время во все будни и субботы. Должно быть довольно просто, и я знаю, что это можно сделать с помощью массивов и так далее, но, пожалуйста, потерпите меня, так как я новичок в этом.

То, что у меня пока есть, выглядит так:

<script type="text/javascript"> 
var day = day.getday();
var hr = day.getHours();

if ((hr < 10) && (hr > 18) && (day == 1) || (hr < 10) && (hr > 18) && (day == 2) || (hr < 10) && (hr > 18) && (day == 3) || (hr < 10) && (hr > 18) && (day == 4) || (hr < 10) && (hr > 18) && (day == 5))

{
document.write("test");
}

Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 09 ноября 2018

Вот грязный пример, который демонстрирует подход, который вы можете использовать ... Не все пути кода завершены ( как подключение события на завтра, если настроенный час / мин уже пройден ) но ... он показывает сообщение в заданный час / мин дня, если этот день - любой, кроме воскресенья.

<!DOCTYPE html>
<html>
<head>
</head>
<body>

<script>
    var showPopup = function()
    {
        document.write("test");
        alert("Show Message!");
    };

    var hookupAlert = function(targetHour, targetMin)
    {
        var nextAlert = null;
        var now = new Date();       // Now.
        var day = now.getDay();     // Returns 0-6 where 0=Sunday, 6=Saturday.
        var hr = now.getHours();    // Returns 0-23.
        var min = now.getMinutes(); // Returns 0-59.

        // If a weekday or saturday.
        if(day != 0)
        {
            // Is it before the target hour/min?
            if(hr <= targetHour && min < targetMin)
            {
                nextAlert = new Date(now.getFullYear(), now.getMonth(), now.getDate(), targetHour, targetMin, 0);
            }
            else
            {
                // We've passed the target hour/min for the day...
                // TODO: Possibly determine tomorrow (or if tomorrow is Sunday, the day after).
                console.log("Passed the targetHour & targetMin for the day.");
            }
        }

        if(nextAlert)
        {
            var diffInMs = Math.abs(nextAlert - now);
            window.setTimeout(showPopup, diffInMs);
        }
    };


    // Make the call to hook up the alert at 11:15.
    hookupAlert(11, 15);    // Hour between 0-23, Min between 0-59.


</script>

</body>

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...