【发布时间】:2015-10-27 22:52:29
【问题描述】:
您好,我正在构建一个时间跟踪应用程序,并且我在数据库中保存了一堆开始日期和时间,如果没有结束时间,我将使用 stackoverflow answser 中的代码,唯一的区别是我有多个目标例如我的html代码如下;
<ul class="draggable connected-sortable tasks ui-droppable" id="In Progress" data-assigned-status-id="6" style="height: 799px;">
<li class="clearfix ui-draggable ui-draggable-handle" style="position: relative;">
<div class="task_info clearfix">
<!-- <p></p>
<p></p> -->
<p>Go to shops</p>
<br>
<br>
<br> <a href="http://app.local/task/1">View more info</a>
</div>
<div class="user_info clearfix">
<p><strong>User</strong>
</p>
</div>
<br>
<div class="form-group">
<button type="button" class="btn btn-danger track_time" data-toggle="modal" data-id="109" data-post="data-php" data-action="track_time" data-href="http://app.local/timer/ajax/109">Track your time</button>
</div>
<div class="time-elapsed">0 day(s), 2:38:0</div>
<div class="date_start_time" data-date-time="2015,10,27 20:08:00"></div>
<div class="alerts-wrapper"></div>
</li>
<li class="clearfix ui-draggable ui-draggable-handle" style="position: relative;">
<div class="task_info clearfix">
<!-- <p></p>
<p></p> -->
<p>Clean room</p>
<br>
<br>
<br> <a href="http://app.local/task/2">View more info</a>
</div>
<div class="user_info clearfix">
<p><strong>User</strong>
</p>
</div>
<br>
<div class="form-group">
<button type="button" class="btn btn-danger track_time" data-toggle="modal" data-id="86" data-post="data-php" data-action="track_time" data-href="http://app.local/timer/ajax/86">Track your time</button>
</div>
<div class="time-elapsed">0 day(s), 2:38:0</div>
<div class="date_start_time" data-date-time="2015,10,27 22:03:00"></div>
<div class="alerts-wrapper"></div>
</li>
</ul>
我使用的javascript如下;
var startDateTime = new Date($('.date_start_time').attr('data-date-time'));
var startStamp = startDateTime.getTime();
var newDate = new Date();
var newStamp = newDate.getTime();
var timer;
function updateClock() {
newDate = new Date();
newStamp = newDate.getTime();
var diff = Math.round((newStamp - startStamp) / 1000);
var d = Math.floor(diff / (24 * 60 * 60));
/* though I hope she won't be working for consecutive days :) */
diff = diff - (d * 24 * 60 * 60);
var h = Math.floor(diff / (60 * 60));
diff = diff - (h * 60 * 60);
var m = Math.floor(diff / (60));
diff = diff - (m * 60);
var s = diff;
$(".time-elapsed").html(d + " day(s), " + h + ":" + m + ":" + s);
}
setInterval(updateClock, 1000);
但正如您在上面的 html 中看到的,经过时间的 div 具有相同的值,而以下值不同;
<div class="date_start_time" data-date-time="2015,10,27 22:03:00">
<div class="date_start_time" data-date-time="2015,10,27 20:08:00">
所以我应该有不同的经过时间的值,有什么想法我在这里做错了吗?
【问题讨论】:
标签: javascript jquery counter