我怎样才能改变

使用javascript在一段定义的时间延迟后动态标记数据?

发布于 2025-01-06 20:28:11 字数 248 浏览 0 评论 0原文

我只想在定义的时间延迟后使用 javascript 更改

标记内容。例如,a

<p>messages</p>

应该根据编号而变化。新消息来了。作为

<p>messages(1)</p>
<p>messages(2)</p>

I want to change only <p> tag contents using javascript after a defined time delay. For example a

<p>messages</p>

should change depending on the no. of new messages came. As

<p>messages(1)</p>
<p>messages(2)</p>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

半仙 2025-01-13 20:28:11

将您的

编写为:

<p class="messages">messages</p>

您的 javascript:

function updateMessages() {
    var ps = document.getElementsByClassName("messages");
    for(var i = 0, len = ps.length; i < len; i++) {
        ps[i].innerHTML = "messages (" + messageCount + ")";
    }
}

setTimeout(updateMessages, 1000);

其中 1000 是要延迟的毫秒数。

或者,如果您想每15秒定期执行一次,您可以使用setInterval

setInterval(updateMessages, 15000);

更新:

我在上面看到您的评论:

使用 JSP 函数从数据库检索新消息,该函数检查数据库中是否有新消息

在这种情况下,我猜您想定期检索该消息,实际上是轮询该 URL?如果您已经使用了 javascript 框架,我建议您查看他们的 AJAX 文档。

Write your <p> as:

<p class="messages">messages</p>

Your javascript:

function updateMessages() {
    var ps = document.getElementsByClassName("messages");
    for(var i = 0, len = ps.length; i < len; i++) {
        ps[i].innerHTML = "messages (" + messageCount + ")";
    }
}

setTimeout(updateMessages, 1000);

Where 1000 is the number of milliseconds to delay.

Or if you want to do it periodically every 15 seconds, you can use setInterval:

setInterval(updateMessages, 15000);

UPDATE:

I see your comment above:

new messages are retrieved from the database using a JSP function that checks database for new messages

In that case, I gather you want to retrieve that periodically, in effect polling that URL? If you already use a javascript framework, I suggest you look at their AJAX documentation.

怕倦 2025-01-13 20:28:11
$(document).ready({
 function updatePara() {        
      $('p').html('Content to set in para');
    }
 });

setTimeout(updatePara, no.of milisecond to delay);

jQuery 让 dom 操作变得更加容易:)
上面的代码更改了所有段落的内容,因此最好为所需的段落提供一些调用名称,然后过滤该段落以使用这些名称进行更新,即 $ ('p.classname').html('您的内容')$('.classname').html('您的内容')
jQuery 太棒了! :)

$(document).ready({
 function updatePara() {        
      $('p').html('Content to set in para');
    }
 });

setTimeout(updatePara, no.of milisecond to delay);

jQuery make dom manipulation much easy :)
The above code changes content of all the paragraph, So better to give the desired paragragh <p></p> some call name then filter the para to update with those name i.e $('p.classname').html('your content') OR $('.classname').html('Your content')
jQuery is AWESOME !!! :)

夏至、离别 2025-01-13 20:28:11

您可以使用setTimeout函数:

var delay = 1000; // 1 second
setTimeout(function() {
  var pNodes = document.getElementsByTagName('p');
  for (var i=0, length=pNodes.length; i < length; i++) {
    pNodes[i].innerHTML = pNodes[i].innerHTML+"("+ (i+1) +")";
  }
}, delay);

getElementsByTagName仅用于示例。检索 pNode 的方式取决于 html 代码的结构。

You can use setTimeout function:

var delay = 1000; // 1 second
setTimeout(function() {
  var pNodes = document.getElementsByTagName('p');
  for (var i=0, length=pNodes.length; i < length; i++) {
    pNodes[i].innerHTML = pNodes[i].innerHTML+"("+ (i+1) +")";
  }
}, delay);

getElementsByTagName is used just for example. The way of retrieving pNodes depends on structure of your html code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文