Javascript 获取touchevent的长度

Javascript 获取touchevent的长度,javascript,html,cordova,touch,Javascript,Html,Cordova,Touch,如何在javasscript中获取touchstart和touchend之间的时间 // define startTime variable var startTime = 0; function initi() { console.log('init'); // Get a reference to our touch-sensitive element var touchzone = document.getEleme

如何在javasscript中获取touchstart和touchend之间的时间

    // define startTime variable
    var startTime = 0;

    function initi() {
        console.log('init');
        // Get a reference to our touch-sensitive element
        var touchzone = document.getElementById("myCanvas");
        // Add an event handler for the touchstart event
        touchzone.addEventListener("mousedown", startTouch, false);
        // You need mouseup to capture the stop event                          
        touchzone.addEventListener("mouseup", stopTouch, false);
    }

    function startTouch(event) {
        // You can access the event here too..
        // But for demo I will only get the current Time

        startTime = new Date().getTime();
    }

    function stopTouch(event) {
        // Get a reference to our coordinates div
        var can = document.getElementById("myCanvas");
        // Write the coordinates of the touch to the div
        if (event.pageX < x * 100 && event.pageY > y * 10) {
            // Calculate the duration, only if needed
            var duration = new Date().getTime() - startTime;

            bally -= 0.001 * duration; // use duration
        }

        // I hope bally if defined in the outer scope somewhere ;)                    
        console.log(event, x, bally);
        draw();
    }
//定义startTime变量
var startTime=0;
函数initi(){
console.log('init');
//参考我们的触控元件
var touchzone=document.getElementById(“myCanvas”);
//为touchstart事件添加事件处理程序
touchzone.addEventListener(“mousedown”,startTouch,false);
//您需要鼠标悬停来捕获停止事件
touchzone.addEventListener(“mouseup”,stopTouch,false);
}
功能启动触摸(事件){
//您也可以在此处访问该活动。。
//但对于演示,我将只获取当前时间
startTime=新日期().getTime();
}
功能停止触摸(事件){
//获取坐标div的引用
var can=document.getElementById(“myCanvas”);
//将触摸的坐标写入div
如果(event.pageXy*10){
//仅在需要时计算持续时间
var duration=new Date().getTime()-startTime;
bally-=0.001*持续时间;//使用持续时间
}
//我希望巴利,如果在某个外部范围内定义;)
console.log(事件,x,bally);
draw();
}

touchstart和touchend之间的时间越长,球移动的次数就越多,但是如何获取touchevent的时间/长度呢?

您可以启动任意毫秒数的Javascript间隔(取决于所需的“平滑度”)。如下所示,模拟您可以执行的操作,仅使用mousedown和mouseup事件

var clickEle=document.getElementsByTagName(“按钮”)[0];
var timerEle=document.getElementsByClassName(“计时器”)[0];
变量计数器增量=10;//以毫秒计
var timerCount=0;
var定时器=null;
单击ele.onmousedown=startTimer;
单击ele.onmouseup=停止计时器;
函数startTimer(){
定时器=设置间隔(递增定时器、计数器增量);
}
函数递增计时器(){
timerCount+=计数器增量;
//仅供演示之用
timerEle.innerHTML=timerCount;
}
函数stopTimer(){
清除间隔(计时器);
时间计数=0;
}
点击这个!

鼠标被按住了多长时间?
0毫秒

您可以启动任意毫秒数的Javascript间隔(取决于所需的“平滑度”)。如下所示,模拟您可以执行的操作,仅使用mousedown和mouseup事件

var clickEle=document.getElementsByTagName(“按钮”)[0];
var timerEle=document.getElementsByClassName(“计时器”)[0];
变量计数器增量=10;//以毫秒计
var timerCount=0;
var定时器=null;
单击ele.onmousedown=startTimer;
单击ele.onmouseup=停止计时器;
函数startTimer(){
定时器=设置间隔(递增定时器、计数器增量);
}
函数递增计时器(){
timerCount+=计数器增量;
//仅供演示之用
timerEle.innerHTML=timerCount;
}
函数stopTimer(){
清除间隔(计时器);
时间计数=0;
}
点击这个!

鼠标被按住了多长时间?
0毫秒

您必须在“外部作用域”中的某个位置定义startTime变量,这两个函数都可以访问该变量。调用第一个函数时,它只会更改其值,第二个函数也可以访问该变量;)


您必须在“外部范围”中的某个地方定义startTime变量,这两个函数都可以访问该变量。调用第一个函数时,它只会更改其值,第二个函数也可以访问该变量;)

var startTime=0;
函数start(){
startTime=新日期().getTime();
}
函数停止(){
var duration=(new Date().getTime()-startTime);
生长棒(持续时间);
}
var clickEle=document.getElementsByTagName(“按钮”)[0];
var timerEle=document.getElementsByClassName(“计时器”)[0];
var ms=document.getElementById('ms');
单击ele.onmousedown=开始;
单击ele.onmouseup=停止;
函数增长条(时间计数){
ms.innerHTML=timerCount;
timerEle.setAttribute(“样式”,“宽度:+timerCount+”px;”;
}
.bar{
高度:10px;
宽度:100%;
背景:黑色;
}
.计时器{
宽度:0;
身高:100%;
背景:红色;
}
点击这个!
ms
var startTime=0;
函数start(){
startTime=新日期().getTime();
}
函数停止(){
var duration=(new Date().getTime()-startTime);
生长棒(持续时间);
}
var clickEle=document.getElementsByTagName(“按钮”)[0];
var timerEle=document.getElementsByClassName(“计时器”)[0];
var ms=document.getElementById('ms');
单击ele.onmousedown=开始;
单击ele.onmouseup=停止;
函数增长条(时间计数){
ms.innerHTML=timerCount;
timerEle.setAttribute(“样式”,“宽度:+timerCount+”px;”;
}
.bar{
高度:10px;
宽度:100%;
背景:黑色;
}
.计时器{
宽度:0;
身高:100%;
背景:红色;
}
点击这个!
ms
var clickEle=document.getElementsByTagName(“按钮”)[0];
var timerEle=document.getElementsByClassName(“计时器”)[0];
var msEle=document.getElementById('ms');
变量计数器_增量=1;//以毫秒计
var timerCount=0;
var定时器=null;
单击ele.onmousedown=startTimer;
单击ele.onmouseup=停止计时器;
var-ms=0;
函数startTimer(){
ms=新日期().getTime();
定时器=设置间隔(递增定时器、计数器增量);
}
函数递增计时器(){
timerCount+=计数器增量;
//仅供演示之用
timerEle.innerHTML=timerCount;
}
函数stopTimer(){
清除间隔(计时器);
时间计数=0;
msEle.innerHTML=新日期().getTime()-ms;
}
点击这个!

鼠标被按住了多长时间?
0毫秒

真正的mi
var startTime = 0;
function one() {
   startTime = new Date().getTime();
}

function two() {
  var duration = new Date().getTime() - startime;
  console.log(duration + 'ms between one() and two()');
}

var btn = document.getElementById('some-btn-id');
btn.onmousedown = one;
btn.onmouseup = two;