首页 > 解决方案 > jscript/html 在特定时间弹出

问题描述

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

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

<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");
}

任何帮助将非常感激。

标签: javascripthtmlpopup

解决方案


这是一个混乱的示例,显示了您可以采用的方法...并非所有代码路径都已完成(例如,如果已通过配置的小时/分钟,则连接明天的事件)但是...确实显示了一条消息如果那一天是星期日以外的任何一天,则在一天中配置的小时/分钟。

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

我希望这有帮助。


推荐阅读