2012-12-26 34 views
0

我想知道是否有一个非常简单的解决方案来显示内容在特定的时间和只在欧洲时区的工作日内?在周一到周五之间显示html内容

上午9点至下午5点之间的时间(周末除外),应显示html内容的时间。 如果可能,从下午5点到上午9点有不同的html内容。

+5

你最好这样做在服务器端 – Alexander

+0

这实际上取决于他的需求;如果他希望内容在没有页面刷新的情况下动态显示/隐藏(并且不在页面中添加短元过期时间),那么客户端Javascript是唯一的严肃选项(不严肃的选项包括Java小程序,使整个网站Flash等)。 – machineghost

回答

3

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

您可能想查看Moment.js库(http://momentjs.com/),因为它具有许多使日期/时间更容易处理的功能。

下面是一个匆匆的例子(不使用力矩),只是检查“是我们过去的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 

随着那希望你能弄清楚如何添加其他的,如果检查需要。

0

在这里,你去! :)

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

回答11月30日在'10 22:16

犀牛

+0

我会测试这个a.s.a.p.非常感谢所有的回应! –

+0

是的,我正试图恢复我的声誉......现在看起来不太好,所以我希望能够对问题进行一些检查! – 2013-01-11 01:38:08

相关问题