【问题标题】:Refresh DIV using JQuery w/o need for PHP使用 JQuery 刷新 DIV,无需 PHP
【发布时间】: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 新手

标签: jquery html refresh


【解决方案1】:
var auto_refresh = setInterval( function()
{
    $('#station_num')
        .fadeOut('slow')
        .html('<h1>Station :="HMI_Control".StationNum:</h1>')
        .fadeIn('slow');
},1000);

【讨论】:

  • 谢谢,我会考虑一下并试一试!
【解决方案2】:

$('#station_num').fadeOut('slow').fadeIn('slow'); 不会更新任何内容。它只会隐藏然后再次显示相同的内容。

使用这个:

$('#station_num").html('<h1>Station :="HMI_Control".StationNum:</h1>');

这将再次设置 div 的内容。

【讨论】:

  • 谢谢,我会试一试。我有点想淡入/淡出不会做任何事情,但我不确定该怎么做,因为我真的不需要加载 php 文件。我很欣赏这个建议
猜你喜欢
  • 1970-01-01
  • 2012-04-20
  • 2014-03-08
  • 1970-01-01
  • 2023-01-18
  • 1970-01-01
  • 2013-01-01
  • 2010-10-05
  • 2017-11-14
相关资源
最近更新 更多