我想要在一天中的特定时间显示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>";
}
?>
答案 0 :(得分:2)
你不需要一个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.
应该做的伎俩
答案 1 :(得分:0)
我会经常使用JQuery timer进行民意调查;当时机成熟时,使用$.load()将新信息加载到页面上的div中。您应该在Javascript中进行时间检查,这样您就不会经常在客户端和服务器之间传输不必要的数据。
答案 2 :(得分:0)
你的后端应该返回你想要显示的特定html。
您的前端应该只是在后端轮询一个返回此信息的特定网址。
(还有其他方法,但这是我的观点)
答案 3 :(得分:0)
首先,使用jQuery的AJAX调用和一个简单的js计时器。如果页面有一个ID为“showithere”的div,这将每10分钟加载一次PHP页面:
<head>
<script>
function fn () {
alert ('now');
$("#showithere").load ("http://jsbin.com/help/");
}
</script>
</head>
<body onLoad="setTimeout (fn, 600000);" >