是否每秒更新启动进度条
Updating Bootstrap progress bar every second?
我对Javascript有点陌生,尤其是Ajax,我希望有人能帮助我度过我正在做的一个宠物项目的最后一个难关。
我有一个Ruby on Rails应用程序,它使用Bootstrap API,旨在显示网页上几个正在运行的线程的状态。每个线程都由一个ActiveRecord对象表示,该对象包含一个progress
属性,该属性旨在由我的控制器在线程进程中的某些里程碑进行更新。
应用程序的各个方面都正常工作,但我需要进度条随着每个活动线程的progress
属性的变化而动态更新。我尝试过javascript的setInterval
方法,但奇怪的是,它似乎只在页面加载后触发一次,而不是像我指定的那样每秒钟触发一次。我读了一些关于ajax的文章,我想我理解它应该如何工作,但我有点纠结于如何将它适应我的特定应用程序。以下是我的.html.erb文件中的<div>
,该文件包含进度条:
<% @all_active_threads.each do | active_thread | %>
<div class="row">
<div class="progress progress-striped active span6">
<div id="progressbar<%= active_thread.thread_id %>" class="bar" style="width: <%= active_thread.progress %>%;"><%= active_thread.campaign %></div>
</div>
</div>
<% end %>
我看到的大多数ajax示例都谈到了将检索到的一组数据附加到页面上,或者修改div以包含它。在我的例子中,我的控制器中有一个操作,从数据库中检索所有活动线程的数组,将其转换为JSON对象,并将其呈现为JSON,我的javascript代码正确地检索这个数组。我只需要更新每个条的"宽度"属性,使其等于这个新的progress
值。为了便于说明,对于两个活动线程,检索到的数组可能是这样的:
[ { id: 1, thread_id: 42, progress: 33 }, { id: 2, thread_id: 11, progress: 86 } ]
我的问题是,如果我已经编写了javascript代码来检索数组,获取进度值,并将其分配给进度条,我如何编写ajax函数来每秒执行此操作
非常感谢你的帮助!
JavaScript的setInterval
方法将允许您在循环中执行一个方法。例如:
setInterval(function(){
updateProgressBar();
},1000);
- Javascript循环不会自我更新
- 添加文字和评论功能更新Div
- 我的jQuery插件参数没有正确启动,遇到了问题
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- AngularJS:ng之后,重复$scope值未按预期更新
- 如何通过数组更新角度子范围
- Ajax聊天消息重复而不仅仅是更新
- 从控制器返回后Ajax启动事件激发
- 通过CSV文件上载更新数据库表
- 平均值:无法将数据更新到数据库
- 如何更新服务器's的内容而不重新启动?(node.js)
- 科尔多瓦在从 3.3.0 更新到 3.6.4 后未启动设备准备就绪
- 如何更新/重新启动 mmenu
- AngularJS:如何重新启动控制器以更新要监视的数据源模型
- HTML5视频时间更新事件未启动
- 启动日期时间选择器minDate和maxDate无法在单击事件时更新
- ArcGIS JavaScript-api-Map更新结束时停止启动
- 如何在使用jQuery启动的模态中更新-data行属性
- 是否每秒更新启动进度条
- 如果我重新启动应用程序池,客户端浏览器会引用我更新的javascript或css文件吗?