javascript - 在不同时间重新加载多个 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>
非常感谢您的帮助。
解决方案
我将通过为每个小部件生成此代码来解决这个问题:
<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。
推荐阅读
- shopify - 请求新权限的 Shopify 应用程序安全吗?
- java - JMeter:两个不同线程池的性能测试及其比较
- r - 如何对R中元素包含数字和字母的字符向量进行排序?
- ajax - 如何使用服务器端 ajax 添加页脚总和数据
- pine-script - 我猜tradeview有很大的错误,为什么这段代码不能正确运行
- discord - 我正在尝试创建一个聊天事件,但它不发送消息
- javascript - 单击时隐藏/显示元素
- python - 如何在 pyFirmata 中使用 digitalWrite?
- excel - 询问错误宏 Excell 编译错误:预期:没有类型后缀的标识符
- perl - Perl 在文字字符上拆分字符串 \n