计算longpress的秒数

时间:2018-04-21 16:46:06

标签: javascript

我在这个漫长的时间计时器工作

问题 它运作良好,但现在不是显示时差(结束 - 开始),我希望它显示计数数字,如使用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;
&#13;
&#13;

1 个答案:

答案 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()