【问题标题】:Auto refresh only a particular div using javascript.jquery使用 javascript.jquery 仅自动刷新特定的 div
【发布时间】:2022-03-19 23:03:20
【问题描述】:

我有一个 html 页面

<div id="mainframe">

            <div id="div2"></div>


        <div id="div3"></div>

        <div id="div4">

            <table class="table3">
                <tbody>
                    <tr>
                    <td width=3%></td>
                        <td class="listtitle">1</td>
                        <td width=5%></td>
                        <td class="listtitle">2</td>
                    </tr>
                    <tr>
                    <td width=3%></td>
                        <td class="dashboardchart" ><div  style="width:550px ; height:400px"><canvas id="chart_scanner" width="500" height="400">
                        </canvas></div></td>

                        <td class="dashboardchart"><div id="div_chartActivity" style="width:550px ; height:400px"><canvas id="chart_activity" width="500" height="400">
                        </canvas></div></td>
                        <td width=3%></td>
                    </tr>
                </tbody>
            </table>

        </div>  
    </div>

我想在 15 秒后实现自动刷新,但应该只重新加载 #div3 和 #div4 而不是整个页面。

谁能建议我应该在我的页面中添加什么脚本

【问题讨论】:

  • 在这种情况下刷新是什么意思?我们需要来自服务器的数据还是仅以编程方式更新内容?
  • 此问题已回答here

标签: javascript jquery html


【解决方案1】:

您可以使用 setInterval 或 setTimeout 每隔 X 秒调用一次函数

var count = 0;

function refresh() {

//your stuff to refresh your divs here (ajax requests...)

  $("#div3").html(count);
  $("#div4").html(count);
  count++;
  setTimeout(refresh, 1000);
}

refresh();

https://jsfiddle.net/qbknsu0m/

【讨论】:

    【解决方案2】:

    您可以使用此代码:

    var myVar = setInterval(myTimer, 15000);
    
    function myTimer() {
        //Here you can update specific part of your page
        document.getElementById("demo").innerHTML = d.toLocaleTimeString();
    }
    

    我们正在启动一个 15 秒的 JavaScript 计时器。然后当 15 秒过去时,myTimer 函数执行。在此函数中,您可以选择要更新的 dom 元素,并将其 innerHTML 属性设置为要显示的内容。

    【讨论】:

      【解决方案3】:

      类似这样的:

       $(document).ready(
                  function() {
                      setInterval(function() {
                          var randomnumber = Math.floor(Math.random() * 100);
                          $('#div3').text(
                                  'I am getting refreshed every 3 seconds..! Random Number ==> '
                                          + randomnumber);
                          $('#div4').text(
                                  'I am getting refreshed every 3 seconds..! Random Number ==> '
                                          + randomnumber);
                      }, 3000);
                  });
      

      【讨论】:

      • 伙计们。我在这两个 div 中有图表,并且想按原样重新加载整个 div。如,图表正在从数据库中更新,刷新时我想更新那些 div 中的图表
      • 嗯,你从哪里得到数据?它是 xml,还是数据库或只是一些文件?这个 html 页面是通过 java 或任何其他语言生成的还是静态的?
      • 此数据来自服务器并以 html 呈现,现在我想要自动刷新,其中标题和其他静态数据应保持原样。只有带有这些图表的 div 应该在特定时间间隔后重新加载
      • 需要通过ajax请求获取修改后的图表数据,只刷新部分页面是行不通的,因为数据一直在变化。因此,您必须每隔几秒发出一次 ajax 请求,并从请求中获取服务器生成的新数据。
      猜你喜欢
      • 1970-01-01
      • 2013-05-13
      • 2020-12-22
      • 2014-07-30
      • 1970-01-01
      • 2013-03-11
      • 2010-10-05
      • 1970-01-01
      相关资源
      最近更新 更多