我想在一天中的特定时间显示div。我让它在PHP中工作,但它需要手动刷新浏览器。我想让我的脚本在合适的时候自动加载正确的div。
我在正确的轨道上吗?也许有一个jquery插件可以解决这类事情,它可以处理这种刷新?
任何帮助都是非常感谢的。谢谢!
<?php
$time = date("H\:i");
if (($time > "16:59") && ($time < "18:59")) {
echo "<div>1</div>";
}
elseif (($time > "18:59") && ($time < "20:59")) {
echo "<div>2</div>";
}
elseif (($time > "20:59") && ($time < "22:59")) {
echo "<div>3</div>";
}
else {
echo "<div id='out'><p>Outside the specified point in time.</p></div>";
}
?>发布于 2010-04-03 09:23:24
您不需要jquery插件来处理刷新,只需创建一个每隔几分钟/秒检查一次的计时器
@jasie提到计时器是正确的。他提到了jquery计时器,但你也可以像这样使用常规的javascript计时器(你标记了jquery,所以我将使用jquery):
var timer = setInterval(function(){
var hour = (new Date()).getHours();
if (hour >= 17 && hour < 19) {
var $div = $('<div>1</div>');
} else if (hour >= 19 && hour < 21) {
var $div = $('<div>2</div>');
} else if (hour >= 21 && hour < 23) {
var $div = $('<div>3</div>');
} else {
var $div = $("<div id='out'><p>Outside the specified point in time.</p></div>");
}
$div.appendTo('body');
}, 2000); // checking every 2 seconds.这应该会起作用。
发布于 2010-04-03 08:31:31
我经常使用JQuery timer进行轮询;当时机成熟时,使用$.load()将新信息加载到页面的div中。您应该像您所做的那样,在Javascript中进行时间检查,这样您就不会经常在客户端和服务器之间传输不必要的数据。
发布于 2010-04-03 09:23:12
你的后端应该返回你想要显示的一小段html。
您的前端应该只在返回此信息的后端轮询一个特定的url。
(还有其他方法可以做到,但这只是我的观点)
https://stackoverflow.com/questions/2569845
复制相似问题