首页 > 解决方案 > 在不同时间重新加载多个 DIV

问题描述

我有一个 PHP+HTML+CSS 应用程序,该应用程序有一个主仪表板,其中包含多行和多列(称为小部件)。

小部件是 DIV 并设置了唯一 ID 和一些 CSS 类。喜欢:

<div class="col-2 colstav" id="5">Test 5 velikost 2</div>
<div class="col-6 colstav" id="32">Test 32 velikost 6</div>
<div class="col-4 colstav" id="7">Test 7 velikost 4</div>

在我需要重新加载 DIV 的文件(内容)之后,在 PHP 变量中,我为每个 ID 存储了时间(以毫秒为单位)。

在 PHP 中,我有:

$column[5]["file"] = widget5.php;
$column[5]["refresh"] = 4000;
$column[32]["file"] = widget32.php;
$column[32]["refresh"] = 2000;
$column[7]["file"] = widget7.php;
$column[7]["refresh"] = 1000;

我找不到通过 PHP 变量及时重新加载 DIV 内容的 Javascript 函数。

我找到了这个(http://jsfiddle.net/YVB9F/),但我没有更新这个 JS 代码:(。

规范/编辑:我需要这样的 JS 代码:

<script>
var time_div_5 = 4000;
var time_div_32 = 2000;
var time_div_7 = 1000; 

function content(content_file,div_id){
load(content_file) to target(div_id)
}

every(time_div_5){do: content("wg/widget5.php","5")}
every(time_div_32){do: content("wg/widget32.php","32")}
every(time_div_7){do: content("wg/widget7.php","7")}
</script>

我知道如何将变量从 PHP 添加到脚本。

经过一些研究后,ai 有了这个脚本,但无法正常工作:

<script>
function reload_div(file,iddiv){
$(iddiv).load(file);
}

setInterval(reload_div("widgets/widget1.php",1), 1000);
setInterval(reload_div("widgets/widget2.php",2), 4000);
</script>

<div id="1"></div>
<div id="2"></div>

非常感谢您的帮助。

标签: javascript

解决方案


我将通过为每个小部件生成此代码来解决这个问题:

<script>setInterval(function() {$('#1').load('widgets/_blank.php');},5000)</script>

在 PHP 中:

echo "<script>";
echo 'setInterval(function() {'."$('#".$tmp_idwidget."').load('".$temp_path."');},".$tmp_refresh.")";
echo "</script>";

它的作品,但我认为,不是最有效和最干净的方式:D。


推荐阅读