首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Refresh更新表

用Refresh更新表
EN

Stack Overflow用户
提问于 2014-03-19 14:07:25
回答 2查看 110关注 0票数 0

我有一个jquery应用程序,它由一个表组成。该表有一个时间字段和一些数字字段。我想基本上每3秒增加一次值。所以我想要创建一个函数来增加数字值,然后通过每3秒自动刷新一次的刷新函数调用它。

因此,基本上,最初的信息如下

科比10:00 30 4 2 3秒后应该是 科比10:03 31 5 4

这是我做的小提琴

我不能这么做。我试图创建一个函数,其中我增加了表值,并按如下方式调用了该函数

setInterval(updateFunction,3000);

但没有运气。这就是我想要创建一个函数的方式。

代码语言:javascript
复制
var cell = $("#example");
var currentVal = parseInt(cell.text(), 10);
cell.text( currentVal + 1 );

有谁能给我一些建议吗。我对js和jquery并不熟悉,如果我很难理解我的意思的话,我也为糟糕的英语感到遗憾。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-19 15:42:54

这里有个办法。向需要更新的单元格中添加类:

代码语言:javascript
复制
<td>Lebron James</td>
<td class="updateMeTime">08:00</td>
<td class="updateMeInt">27</td>
<td class="updateMeInt">11</td>
<td class="updateMeInt">10</td>

在本例中,类updateMeInt表示它是一个简单整数,而updateMeTime表示它是一个时间值。

然后,update函数将使用以下类和增量遍历每个单元:

代码语言:javascript
复制
function UpdateFunction(){
    $(".updateMeInt").each(function(index){
       var cur = parseInt($(this).text(), 10);
       $(this).text(cur + 1);    
    });

    $(".updateMeTime").each(function(index){
        var cur = $(this).text().split(":");    
        var sec = parseInt(cur[1], 10);        
        var min = parseInt(cur[0], 10);

        sec = sec + 3;
        if (sec >= 60){
             sec = 0
             min = min + 1;
        }
        $(this).text(pad(min) + ":" + pad(sec)); 

    });
} 

更新的小提琴

票数 2
EN

Stack Overflow用户

发布于 2014-03-19 15:41:10

在interval函数上尝试以下代码:

代码语言:javascript
复制
$("#example > tbody tr").each(function(){
    var s = 0; //--- var for not increase 1st td ---
    $("td",this).each(function(){
        var data = $(this).html();
        if(/^[0-9]+\.?[0-9]*$/.test(data)){
          $(this).html(++data);   
        } else {
            if(s == 1) {
              date = new Date();
              var h = date.getHours();
              var m = date.getMinutes();
              if(m < 10) {m = '0'+m;} 
              $(this).html(h+':'+m); 
            };
            s = 1; //--- after 1st td increase ---

      }
   });
});

JSFiddle

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22508441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档