gpt4 book ai didi

JavaScript 刷新

转载 作者:行者123 更新时间:2023-11-28 11:59:26 32 4
gpt4 key购买 nike

有没有办法使用下面的代码来刷新已经存在的 div id,而不是刷新时间?

  <script type="text/javascript">
window.onload = startInterval;
function startInterval()
{
setInterval("startTime();",1000);
}

function startTime()
{
document.getElementById('drawaddrow').innerHTML = ????;
}
</script>

假设我要将时间 id 替换为我想要刷新的 id,我会在 .innerHTML =??? 之后放置什么

这是我需要每秒刷新的 div。

<div id="draw" align="center">
<table>

<tr><td style="height:20px;"></td></tr>

</table>


<TABLE style="float:center;border:5px; border-style:outset;border-color:#E80000; width:850px; border-spacing:0; border-collapes:collapse;" table border="1">
<div id="addrow"><script type="text/javascript">
Draw ("")
[Add]</script></div>
</table>

</div>

[AddItemsHTML] 以某种方式从一个软件中提取数据,告诉您什么是到期的,什么是未到期的,但是该脚本并没有每秒提取时间,浏览器刷新时只是更改了到期状态列上的时间。

现在我正在使用它来刷新整个页面,我只需要刷新drawaddrow div id。

    function refreshPage () {
var page_y = document.getElementsByTagName("body")[0].scrollTop;
window.location.href = window.location.href.split('?')[0] + '?page_y=' + page_y;

}
window.onload = function () {
setTimeout(refreshPage, 1000);
if (window.location.href.indexOf('page_y') != -1 ) {
var match = window.location.href.split('?')[1].split("&")[0].split("=");
document.getElementsByTagName("body")[0].scrollTop = match[1];

}

最佳答案

更新(于 2013 年 7 月 27 日 @08:20 AM IST):

浏览完您的代码后,以下是我更新的答案。

  1. 使用 ( divaddrow ) 简单地为 DIV ( .innerHTML ) 赋值将不起作用,原因如下:
    (a) DIV 有一些用方括号括起来的代码(例如 [AddItemsHTML] )。我不确定它使用什么技术。但从其预期用途(即用数据填充表)来看,它似乎确实需要与服务器通信来获取数据。
    (b) DIV 还有一个<script>带有对函数调用的标记(我们称之为 cntFn)。简单地分配该值是行不通的,因为值设置不会再次调用/执行该函数(就像在页面加载时一样)。
  2. 假设 1.a 点是错误的,处理 1.b 点的正常方法是首先使用 .innerHTML 分配 div 的静态内容。然后要么(a)将“cntFn”所做的任何事情写入刷新页面的函数(我们称之为refreshFn)也(或)(b)在“refreshFn”中调用“cntFn”。后者也会在这里引起问题,因为“cntFn”有很多 document.write将重新绘制整个页面的行(意味着执行刷新时页面的其他内容将丢失)。
  3. 一般使用document.write线条是一种不好的做法,因为它们完全重新绘制页面。您可以找到更多相关信息here
  4. 我认为最好的替代方法是使用 AJAX 来刷新内容。您divaddrow的内容div 将构成 AJAX 文件的内容,需要每“x”秒调用一次。请注意“x”秒部分。不要尝试每秒刷新该部分,因为实际上 AJAX 请求到达服务器并获得响应需要时间。设置刷新间隔,以便第一个请求在下一个请求到来时已得到处理(至少 90% 的情况)。 AJAX 调用将获取的数据量(行数)也是一个因素。

关于JavaScript 刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17875700/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com