在特定时间弹出jscript / html

时间:2018-11-09 13:22:25

标签: javascript html popup

我正在尝试在所有工作日和星期六的特定时间设置弹出消息。应该相当简单,我知道可以使用数组等来完成此操作,但是请耐心等待,因为我对此还很陌生。

我到目前为止所拥有的看起来像这样:

<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 :(得分:0)

这是一个凌乱的示例,展示了您可以采用的方法...并非所有代码路径都已完成(例如,如果已通过小时/分钟,则将事件挂接到明天 ),但...如果该日期不是星期日,则它会在配置的小时/分钟显示一条消息。

<!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>

我希望这会有所帮助。