调整秒表脚本以返回经过的分钟和秒数



我找到了一个计算秒和分钟的脚本。我想获取分钟和秒值并在单击停止按钮时将其存储在变量中,我应该怎么做?

var initialTime = Date.now();
window.setInterval(checkTime, 100);

function checkTime( miliseconds) {
  var timeDifference = Date.now() - initialTime;
  var formatted = convertTime(timeDifference);
  if(seconds > 30 || minutes > 0) {
    $('#timer').html('<span style="color: red">' + minutes + ': ' + seconds + '</span>'); 
  } else {
    $('#timer').html('<span style="color: black">' + minutes + ': ' + seconds + '</span>');
  }
}
function convertTime(miliseconds) {
  totalSeconds = Math.floor(miliseconds/1000);
  minutes = Math.floor(totalSeconds/60);
  seconds = totalSeconds - minutes * 60;   
  return minutes,seconds; 
}

制作一个按钮并在其上附加一个事件。然后清除单击按钮时的间隔:

 $("button").on('click', function() {
        window.clearInterval(interval);
 });

演示:https://jsfiddle.net/76t086c2/

您可以从div#timer中获取值,也可以在输入中设置分钟/秒,然后单击按钮时获取值。

你可以像这样从函数中返回值:

.HTML

<button id="stop">Stop</button>
<button id="start" disabled>Start</button>
<div id="timer"></div>
<div id="output"></div>

JavaScript

var initialTime = Date.now();
var timer = window.setInterval(checkTime, 100);

function checkTime() {
  var timeDifference = Date.now() - initialTime;
  var formatted = convertTime(timeDifference);
  if(formatted.seconds > 30 || formatted.minutes > 0) {
    $('#timer').html('<span style="color: red">' + formatted.minutes + ': ' + formatted.seconds + '</span>'); 
  } else {
    $('#timer').html('<span style="color: black">' + formatted.minutes + ': ' + formatted.seconds + '</span>');
  }
    return formatted;
}
function convertTime(miliseconds) {
  var totalSeconds = Math.floor(miliseconds/1000);
  var minutes = Math.floor(totalSeconds/60);
  var seconds = totalSeconds - minutes * 60;   
  return {'seconds': seconds,'minutes':minutes}; 
}
function toggle() {
  $('#start, #stop').prop('disabled', function(i, v) { return !v; });
}
$('#stop').on('click',function() {
  clearInterval(timer);
  toggle();
  var t = checkTime();
  $('#output').html('Time was stopped at: '+t.minutes + ':' + t.seconds)
})

$('#start').on('click',function() {
    initialTime = Date.now();
  timer = window.setInterval(checkTime, 100);
  toggle();
})

您可以在此处看到它的工作:https://jsfiddle.net/jqy0ehbp/3/

好的,你有 2 个日期。

获取以毫秒为单位的差异并格式化结果。

 var initialTime = new Date(2016, 2, 09, 10, 00, 0);
 var now = new Date(Date.now());
 var dateDifference = (now - initialTime);
 console.log('Diff miliseconds = ', dateDifference);
 console.log('Result: ', FormatMiliseconds(dateDifference));

您可以在此小提琴中查看示例:

斯菲德尔

最新更新