我有多个<div>
具有相同 ID 的标签。根据日期和时间,I 语句触发选择相关内容。
我还不断监视数据库中的新内容,并且需要刷新 <div>
显示更新的或新的内容。
我尝试过类似$("#myDiv").load('myPHPPage.php?);
的东西但没有成功。
我的 PHP 代码示例:
if($dayofweek == "Monday" && $timeofday >= "08:00:00" && $timeofday <= "11:59:59"){
//Monday morning timeslot
echo "<div id='slideshow'>";
$stmm= $conn->prepare("SELECT `Monday_Morning`
FROM `adsList`");
$stmm->execute();
while($resultst = $stmm-> fetch()){
$mondaymoringlist = $resultst["Monday_Morning"];
echo "<div class='slideshow'>";
//Display ad as an image
//<object data='/$adlist'></object>
echo "<object data='/$mondaymoringlist'></object>";
echo "</div>";
}
echo "</div>";
}
//Monday Afternoon
if ($dayofweek == "Monday" && $timeofday >= "12:00:00" && $timeofday <= "16:59:59"){
//Monday afternoon timeslot
echo "<div id='slideshow'>";
$stma= $conn->prepare("SELECT `Monday_Afternoon`
FROM `adsList`");
$stma->execute();
while($resultst = $stma-> fetch()){
$mondayafternoonlist = $resultst["Monday_Afternoon"];
echo "<div class='slideshow'>";
//Display ad as an image
//<object data='/$adlist'></object>
echo "<object data='/$mondayafternoonlist'></object>";
echo "</div>";
}
echo "</div>";
}
//Monday Evening
else if ($dayofweek == "Monday" && $timeofday >= "17:00:00" && $timeofday <= "22:00:00"){
//Monday Evevening timeslot
echo "<div id='slideshow'>";
$stme= $conn->prepare("SELECT `Monday_Evening`
FROM `adsList`");
$stme->execute();
while($resultst = $stme-> fetch()){
$mondayeveninglist = $resultst["Monday_Evening"];
echo "<div class='slideshow'>";
//Display ad as an image
//<object data='/$adlist'></object>
echo "<object data='/$mondayeveninglist'></object>";
echo "</div>";
}
echo "</div>";
}
//End of Monday
一周中的每一天都有类似的时间段。
我目前使用location.reload();
但这并不理想,因为还有另一个 <div>
页面上也根据自己的数据检查单独刷新。与其他<div>
我能够做到$("#myDiv").load('myPHPPage.php?);
因为它有一个唯一的ID。
AJAX
function adshandler() {
var d = new Date();
var cache = d.getTime();
$.getJSON("check_time.php?cache=" + cache, function(update) {
if (update.count === true) {
$("#slideshow").load();
}
});
}
setInterval(adshandler, 600000);
最佳答案
ID 和 className 之间的唯一区别是 className(又名类)可以与多个元素关联。根据定义,页面上的每个 ID 都必须是唯一的。
当多个元素具有相同的 ID 时,更改只会发生在页面上的第一个元素(具有该 ID)。
将 ID 更改为类。
要定期轮询数据库,请使用 recursive setTimeout和一个AJAX code block .
关于javascript - 刷新多个具有相同ID的div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38170388/