【发布时间】:2013-08-31 20:28:20
【问题描述】:
我想要做的是刷新一些 DIV,而不是整个页面。但问题是我的应用程序是带有内置 Web 服务器的工业自动化可编程逻辑控制器 (PLC)。所以我不需要替换DIV中的数据,我只需要刷新它,PLC会自动更新变量,但我需要在html页面上刷新它。
以下是我正在使用的当前 javascript(来自在线研究)。我不确定我是否需要“.load()”,因为我所看到的所有内容都在其中加载了一个 PHP 文件
<script type="text/javascript" src="jquery-1.10.2.js"></script>
<script type="text/javascript">
var auto_refresh = setInterval(
function()
{
$('#station_num').fadeOut('slow').fadeIn('slow');
},1000);
</script>
DIV 如下所示:
<div id="station_num"><h1>Station :="HMI_Control".StationNum:</h1></div>
- :="HMI_Control".StationNum 是来自 PLC 的变量
所以我能够看到变量闪烁(从淡入/淡出),但变量没有在网站上更新(尽管我可以在 PLC 中监控变量并看到它的变化)。
任何帮助将不胜感激!
【问题讨论】:
-
你可以随心所欲地刷新
DIV,但是如果DIV的内容没有改变,你将在DOM 上看到没有变化。我建议使用一个小的 AJAX(或从 PLC 获取页面所需的任何方法)例程来获取新变量,然后更新DIV。 -
但是看看有什么奇怪的,我可以看到 PLC 中的变量发生了变化,所以我知道它已经发生了变化。即使使用上述脚本,它也不会更新。编辑:AHHH,所以即使它发生了变化,我也需要检索新变量?
-
但是如果不从 PLC 获取数据来刷新
:="HMI_Control".StationNum:变量,那么淡入淡出 div 有什么好处? -
发布您的编辑......是的,完全正确。
-
有道理。实现这一目标的最简单方法是什么,只需编写某种 AJAX 脚本来检索它?抱歉,我是 AJAX/JQuery/Java 新手