我在这个漫长的时间计时器工作
问题
它运作良好,但现在不是显示时差(结束 - 开始),我希望它显示计数数字,如使用count++
(1,2,3,4 ....)
我尝试使用delta = end.getSeconds() - start.getSeconds() ;
或delta = end.getMilliseconds() - start.getMilliseconds();
,但有时会显示负数https://jsfiddle.net/7h65ufLq/18/
(function(window, document, undefined){
'use strict';
var start;
var end;
var delta;
var button = document.getElementById('myCanvas');
function getDate(){
start = new Date();
}
function retrieveDate() {
end = new Date();
delta = end - start;
document.getElementById("demo").innerHTML = delta;
}
button.addEventListener("mousedown", getDate);
button.addEventListener("mouseup",retrieveDate );
button.addEventListener("touchstart", getDate);
button.addEventListener("touchend",retrieveDate );
document.addEventListener('contextmenu', event => event.preventDefault())
})(window, document)

#myCanvas{
height:100px;
width:100px;
border:1px solid red;
-webkit-user-select: auto;
-webkit-touch-callout: inherit;
-webkit-tap-highlight-color: rgba(0,0,0,0);
}

<canvas id="myCanvas">click</canvas>
<span id="demo">0</span>
&#13;
答案 0 :(得分:2)
您可以只启动一个在特定时间增加计数的间隔,而不是显示增量时间。然后在鼠标上移动,清除间隔。
例如:
#myCanvas {
height: 100px;
width: 100px;
border: 1px solid red;
-webkit-user-select: auto;
-webkit-touch-callout: inherit;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
<canvas id="myCanvas">click</canvas>
<span id="demo">0</span>
to_vptr_1()