【问题标题】:Display html content between defined hours mon to friday在周一至周五定义的时间之间显示 html 内容
【发布时间】:2012-12-12 10:06:46
【问题描述】:

我想知道是否有一个非常简单的解决方案可以在欧洲时区的特定时间之间以及仅在工作日期间显示内容?

时间是每天上午 9 点到下午 5 点之间(周末除外),在这些时间之间应该显示 html 内容。 如果可能的话,从下午 5 点到上午 9 点使用不同的 html 内容。

【问题讨论】:

  • 你最好在服务器端这样做
  • 这真的取决于他的需要;如果他希望内容在不刷新页面的情况下动态显示/隐藏(并且不向页面添加较短的元过期时间),那么客户端 Javascript 是唯一严肃的选择(不严肃的选项包括 Java 小程序,使整个网站Flash 等)。

标签: javascript jquery time timezone


【解决方案1】:

简短的版本是您使用new Date() 获取当前日期/时间,然后使用 DOM 操作来添加/删除适当的内容。如果您希望在页面加载之间更改内容,您可能还希望运行 window.setInterval 以不断更新内容。

您可能想查看 Moment.js 库 (http://momentjs.com/),因为它有许多功能可以更轻松地处理日期/时间。

这是一个快速示例(不使用 Moment),它只检查“我们是否超过 5 岁?”:

window.setInterval(function() {
    if (new Date().getHours() > 17) { // if it's after 5pm (17:00 military time)
        $('#someContent').hide();
    } else {
        $('#someContent').show();
    }
}, 1000 * 60) // this will run every minute

希望您可以了解如何添加其他所需的 if 检查。

【讨论】:

    【解决方案2】:

    给你! :)

    <html>
    <head>
    <script type="text/javascript">
    var date=new Date();
    var year=date.getFullYear();
    var month=date.getMonth();
    var day=date.getDate(); // fixed
    function SetDivContent() {
        var div=document.getElementById('date_dependent');
        if (year==2010 && month==11) { // fixed (the JavaScript months order is 0-11, not 1-12)
            if (day>=3 && day<11) { // the following content will be displayed 12/03/2010, 12/04/2010, [...], 12/09/2010, 12/10/2010
                div.innerHTML='content 1';
            }
            else if (day==11 || day==12) { // this one will be displayed 12/11/2010 and 12/12/2010
                div.innerHTML='content 2';
            }
            else if (day>12) { // this one - 12/13/2010 and later, until the end of December
                div.innerHTML='content 3';
            }
        }
        else if (year==2011 && month>=0) div.innerHTML='content 3'; // OPTIONAL - just to ensure that content 3 is displayed even after December.
    }
    </script>
    </head>
    <body onload="SetDivContent()">
    <div id="date_dependent"></div>
    </body>
    </html>
    

    于 2010 年 11 月 30 日 22:16 回答

    犀牛

    【讨论】:

    • 我会测试这个 a.s.a.p.已经感谢所有回复!
    • 是的,我正在努力恢复我的声誉......现在看起来不太好,所以我希望能对问题进行一些检查!
    猜你喜欢
    • 1970-01-01
    • 2021-05-03
    • 2017-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2011-10-21
    • 2017-09-16
    • 2021-12-31
    相关资源
    最近更新 更多