计算小时数,并为每7.5小时设定一个新的一天

时间:2015-05-14 14:54:54

标签: javascript jquery

我有一个培训模块列表,每个模块都有一个培训所需的小时数值。例如:

培训模块一 - 2.5小时
培训模块二 - 1.0小时
....

我将它们设置为jquery拖放,几乎像购物车,以便用户可以抓取想要的模块并将它们放入另一个容器中。

当一个项目被添加到容器中时,我需要确定将放置该模块的培训日期。每天是7.5小时。

我需要在drop容器中显示的是:

培训模块一 - 2.5小时 - 第1天
培训模块二 - 1.0小时 - 第1天
培训模块三 - 4.0小时 - 第1天
培训模块四 - 1.0小时 - 第二天
培训模块五 - 4.5小时 - 第二天
培训模块六 - 3.0小时 - 第3天
....

这是我尝试过的:

OpenRecordset

它适用于前2天或3天,但之后的值不会加起来。

这有更优雅的用法吗?我觉得我正在过度思考这个问题。

1 个答案:

答案 0 :(得分:1)

以某种方式采样方法:



var hrsArray = [1.75, 1, 3.25, 2.5];
var total = 0;
var hoursInDay = 7.5;
for (var i in hrsArray) {
  var moduleNo = parseInt(i) + 1;
  total += hrsArray[i];
  var days = Math.floor(total / hoursInDay);
  var dayText = days + 1; // need to add 1 for 1-day ahead

  $('#display').append('Module ' + moduleNo + ': ' + hrsArray[i] + ' hours, Day ' + dayText);
  $('#display').append('<br/>');
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="display"/>
&#13;
&#13;
&#13;