【发布时间】:2015-12-24 06:20:10
【问题描述】:
Rails 4 环境,尝试获取一些进度条状态,以 1/10 秒的间隔更新当前表数据。
这里是 setInterval 调用的代码:
setInterval(function () {
var current_roll = parseInt('<%= @run.current_roll %>', 10);
var roll_per = (current_roll / max_roll) * 100
$('#roll_progress_label').html(current_roll);
$('#roll').attr('aria-valuenow', current_roll);
$('#roll').attr('style', 'width:' + roll_per + '%');
// if (current_roll = max_roll) {
// clearInterval(roll_interval);
// }
}, 100);
出于测试目的,我已将 clearInterval 注释掉。
所有的数学运算都正确。进度条会使用适当的标签和宽度更新,但只会更新一次。间隔不是每 100 毫秒循环通过该代码。它获取第一个值,然后永远不会改变。理论上,此代码应按该计划更新#roll_progress_label 的.html。 (我也用该 div 的 .text 对此进行了测试,但没有成功。)
另外,请注意,我已在数据库中确认所有数据都正确写入。
我知道我错过了一些简单的东西。救命!
【问题讨论】:
-
我建议你让它可重现。你的问题没有一个容易重现的编程问题。您可能会考虑提供一个最小的 HTML 并建议一些虚拟值。
@run.current_roll在每个间隔被读取,但它的值多久更新一次?
标签: javascript jquery ruby-on-rails-4