JD *_*udi 0 ajax jquery partial-page-refresh
我试图每隔一段时间刷新页面上的某些元素。我知道这里有上百万个主题,我已经尽力使我的工作正常下来,但这就是我需要刷新的内容。
这是页面加载时生成的代码:
<div id="galleria">
<?php
$a = array();
$dir = '../public/wp-content/uploads/2012/01';
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if (preg_match("/\.png$/", $file)) $a[] = $file;
elseif (preg_match("/\.jpg$/", $file)) $a[] = $file;
elseif (preg_match("/\.jpeg$/", $file)) $a[] = $file;
}
closedir($handle);
}
$totalImgs = count($a);
$imgUsed = array();
for ($j = 0; $j < 100; $j++)
{
do
{
$randIndex = mt_rand(0, $totalImgs);
}
while ($imgUsed[$randIndex] === TRUE);
$imgUsed[$randIndex] = TRUE;
echo "<img src='" . $dir . '/' . $a[$randIndex] . "' />";
}
?>
</div>
Run Code Online (Sandbox Code Playgroud)
我想每10秒自动刷新一次,但不重新加载页面。我已经阅读过有关ajax的内容,看来这是可能的,但我似乎无法使其正常工作。
这一切都将显示Galleria div,并将100张图像加载到div中。然后,Galleria脚本将接管并很好地显示它。AJAX会更好地工作还是JQuery?
谢谢您的帮助!
“ AJAX会更好地工作还是使用jQuery?” -AJAX是一种技术,jQuery是一种库。事实证明,jQuery具有出色的AJAX API。
让我们将这部分PHP称为“ galleria.php”。在原始页面加载时,使用good ol'将其插入父PHP页面<?php include('galleria.php')?>。现在,最终用户将看到完整的初始化页面。
要更新它,您可以使用许多AJAX选项,但是最简单的方法是在页面上包含jQuery,然后可以.load()在脚本中使用它:
var updateGallery = setInterval(function() {
$('#someDiv').load('galleria.php');
}, 10000);
Run Code Online (Sandbox Code Playgroud)
有调整的余地...可能galleria.php不包括<div id="galleria">页面上设置的。在这种情况下,您可以直接加载#galleria而不是,#someDiv并节省不必要的容器。也许您$('#someDiv')通过在不同的范围内声明对象来缓存该对象,以便可以重新使用它。但这是一般要点。
| 归档时间: |
|
| 查看次数: |
20019 次 |
| 最近记录: |