2016-03-30 15 views
0

bu js işlevi ekrana dokunarak bir saniye sonra ve dokunmadan nasıl yapılacağını nasıl aynı dokunmatik konuma bir saniye nasıl yapabilirim ... ekrana dokunmaya devam ederseniz bir saniye için aynı pozisyonda?işlev yürütme önce bir saniye beklemek nasıl

function onCanvasTouchStart(event) 
{ 
    if(event.touches.length == 1) 
    { 
     // draw 
     event.preventDefault(); 
     brush.strokeStart((event.touches[0].pageX) - canvas.offsetLeft, (event.touches[0].pageY) - canvas.offsetTop); 
     window.addEventListener('touchmove', onCanvasTouchMove, false); 
     window.addEventListener('touchend', onCanvasTouchEnd, false); 
    } 
} 

cevap

1

setTimeOut'u kullanın.

function onCanvasTouchStart(event){ 
    if(event.touches.length == 1){ 
     setTimeout(function(){ 
      // draw 
      event.preventDefault(); 

      brush.strokeStart((event.touches[0].pageX) - canvas.offsetLeft, (event.touches[0].pageY) - canvas.offsetTop); 

      window.addEventListener('touchmove', onCanvasTouchMove, false); 
      window.addEventListener('touchend', onCanvasTouchEnd, false); 
     }, 1000); 

    } 

} 
+0

Aynı dokunmatik pozisyonun bir saniyesini nasıl yapabilirim? Ekrana bir saniye aynı konumda dokunmaya devam edersem? –

+0

Beğen @ManoDestra, dokunma başlangıç ​​/ bitiş zamanını izlemeniz gerektiğini söyledi. Bu kemandaki fikri göstermek için biraz kod koydum. https://jsfiddle.net/keL9pbar/. – arifin4web

1
function onCanvasTouchStart(event) { 
    if (event.touches.length == 1) { 
     setTimeout(function() { 
      // draw 
      event.preventDefault(); 

      brush.strokeStart((event.touches[0].pageX) - canvas.offsetLeft, (event.touches[0].pageY) - canvas.offsetTop); 

      window.addEventListener('touchmove', onCanvasTouchMove, false); 
      window.addEventListener('touchend', onCanvasTouchEnd, false); 
     }, 1000); 
    } 
} 

Bu bir saniye sonra ekrana herhangi dokunuş sonra ortaya çıkar, ancak ekranda sürekli 1 saniye dokunuş sonra gerekiyorsa, o zaman dokunmatik değildim sağlamak gerekir t Bu iç fonksiyon çağrılmadan önce herhangi bir noktada bitti. Bir dokunuşun başladığı/sona erdiği Tarihi saklayabilirsiniz. Ve dokunmaya başladığınızdan bu setTimeout sinyalini veren herhangi bir dokunma ucu oluştuğunda, iç işlevin koduna devam etmeyecektiniz.

+0

aynı dokunmatik pozisyonun bir saniyesini nasıl yapabilirim? Ekrana bir saniye aynı konumda dokunmaya devam edersem? –

+0

Herhangi bir dokunma hareketinin, bu durumda delta ortalamasından çok uzak kalmamasını sağlamalısınız. Böylece parmakları SUFFICIENTLY hala kaldı. Ya da sadece sıkı bir şekilde çalışmak istiyorsanız, başlangıçtan beri hiçbir hareket olayının gerçekleşmediğinden emin olun. – ManoDestra

İlgili konular