0
我在文档中显示了多个对象,这些对象上有状态(状态)。如果一个对象的状态设置为active
,我会显示一个向上计时器来向用户显示该对象活动的时间。因此,代码:多个对象上的SetInterval定时器在初始化后取消
countTimer = (el, seconds) ->
setInterval (->
totalSeconds = seconds
++totalSeconds
hour = Math.floor(totalSeconds/3600)
minute = Math.floor((totalSeconds - (hour * 3600))/60)
seconds = totalSeconds - (hour * 3600 + minute * 60)
$(el).siblings('.status').find('.timer').text("#{hour}:#{minute}:#{seconds}")
), 1000
$('.object').each (index, element) =>
$el = $(element)
secondsPassed = parseInt $el.data('start-time')
if $el.data('state') == 'active'
countTimer(element, secondsPassed)
在初始化时,脚本加载传递正确的时间(基于data-start-time
),例如
0:1:46
但随后在第一第二的各元素的计时器抵消:
0:0:46
,然后只计数秒。
不知道为什么发生这种情况。任何意见赞赏。
小提琴:https://jsfiddle.net/fsob9qfb/
你能不能详细请 –
给我看在https://jsfiddle.net/ –
HTTPS代码://的jsfiddle .net/fsob9qfb/ –