【问题标题】:JavaScript/JQuery Auto Refresh a specific DivJavaScript/JQuery 自动刷新特定的 Div
【发布时间】:2013-05-23 13:58:31
【问题描述】:

目前我的当前页面是一个基于基本服务状态页面的内容将 XML 文件加载到浏览器的页面。我正在尝试让特定的 div 自动刷新,但失败了 - 我不是 JS 专家,因此非常感谢任何指导

        <script type="text/javascript">               
      if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
          xmlhttp = new XMLHttpRequest();
      }
      else {// code for IE6, IE5
          xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      xmlhttp.open("GET", "\\tech-desk04\Service Site\servicereport.xml", false);
      xmlhttp.send();
      xmlDoc = xmlhttp.responseXML;

      if (xmlDoc) {
          var x = xmlDoc.getElementsByTagName("ISSUE");
          for (i = 0; i < x.length; i++) {
              document.write("<div class='box_lrg'><div class='box_top'></div><div class='box_middle'><table border='0'>");
              document.write("<tr><td class='title'><h2>");
              document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);
              document.write("</h2></td><td class='issueid'><strong>IssueID: </strong><br />");
              document.write(x[i].getElementsByTagName("ISSUEID")[0].childNodes[0].nodeValue);
              document.write("</td><td class='status'><strong>Status: </strong><br />");
              document.write(x[i].getElementsByTagName("STATUSID")[0].childNodes[0].nodeValue);
              document.write("</td></tr>");
              document.write("<tr><td colspan=3 class='description'>");
              document.write(x[i].getElementsByTagName("TICKETDESCRIPTION")[0].childNodes[0].nodeValue);
              document.write("</td></tr>");
              document.write("<tr><td></td><td class='updated'><strong>Last Updated: </strong><br />");
              document.write(x[i].getElementsByTagName("UPDATEDON")[0].childNodes[0].nodeValue);
              document.write("</td><td class='author'><strong>Author: </strong><br />");
              document.write(x[i].getElementsByTagName("AUTHOR")[0].childNodes[0].nodeValue);
              document.write("</td></tr>");
              document.write("</table>");
              document.write("</div><div class='box_bottom''></div></div>");
          }
      }
      else {
          document.write("<h3><span class='blue'>There are no issues at the moment.</span></h3>");
      }

这是一些用于显示 XML 文档的 javascript - 我希望这个 div 自行刷新,我目前正在使用:

                <script type="text/javascript">
      var auto_refresh = setInterval(
        function ()
            {
                $('#refresh').load('Service.html #refresh').fadeIn();
            }, 2000); // refresh every 2000 milliseconds
            </script>

我遇到的问题是该页面最初可以工作,但在 2000 毫秒之后,整个 div 就消失了,而不是重新加载。这是因为内容是在 Javascript 中创建的,还是我在做一些傻事?

我是 JS/JQuery 的新手——我引用了最新的 JQuery。但我很困惑为什么这会删除 div。

如有任何想法,请告诉我。

【问题讨论】:

    标签: javascript jquery html refresh


    【解决方案1】:

    只需从 Service.html 旁边的脚本中删除额外的 #refresh - 这就是它的样子。我测试了它,它工作正常......这是唯一的问题。

    var auto_refresh = setInterval(
        function () {
            $('#refresh').load('Service.html').fadeIn();
            }, 2000
    );
    

    【讨论】:

      【解决方案2】:

      fadeIn是一个函数,你忘了放():

      $('#refresh').load('Service.html #refresh').fadeIn();
      

      【讨论】:

      • 我已经把括号放在了(发帖时抱歉错字),仍然出现同样的错误
      • 只是指出,如果div在fadeIn之前不可见,则不会出现动画。你之前需要$('#refresh').fadeTo(0,0) 之类的东西。但这不是问题,在 web 检查器中,是否加载了内容?
      【解决方案3】:

      使用.fadeIn() 代替.fadeIn

      【讨论】:

      • 我已经把括号放在了(发帖时抱歉错字),同样的错误仍然出现
      【解决方案4】:

      我不知道这是否会影响您的 div,但可能是因为 fadeIn 函数需要两个括号。喜欢$('#refresh').load('Service.html #refresh').fadeIn();

      【讨论】:

      • 我已经把括号放在了(发帖时抱歉错字),仍然出现同样的错误
      • 标签在哪里?
      猜你喜欢
      • 2013-05-13
      • 2020-12-22
      • 1970-01-01
      • 2011-03-06
      • 1970-01-01
      • 1970-01-01
      • 2013-09-01
      • 2014-07-30
      相关资源
      最近更新 更多