Javascript touch events

Jakub Lemiszewski

Utente Attivo
5 Dic 2013
119
1
0
Salve,

Per un progetto di scuola ho dovuto creare uno script js usando i touch events. Quello che ho fatto è praticamente uno cript che permette su device touch screen di disegnare pero ho un problema. Il problema e che vorrei sincronizzare il momento del tap con l'apparire della riga colorata, se lo provate vedrete che non ce sincronizzazione tra il tap e la riga che appare. Altra cosa che devo implementare e un mouseover per avere lo stesso effetto sul browser perchè al momento funziona solo sui device. Comunque ogni idea di come migliorare lo script e bene accetta. Grazie dell'aiuto.
Codice:
HTML:
<head>
  	<meta charset="utf-8" />
    <meta id="viewport" name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
    <title>
      Jake's Multitouch
    </title>
    <link rel="stylesheet" href="paint.css">

	  <script>
      var canvas;
      var ctx;
      var lastPt = new Object();
      var colours = ['red', 'green', 'blue', 'yellow','black'];
      function init() {
        var touchzone = document.getElementById("canvasbox");
        touchzone.addEventListener("touchmove", draw, false);
        touchzone.addEventListener("touchend", end, false);
        canvas = document.getElementById('canvasbox');
        ctx = canvas.getContext("2d");
      }
      
      function draw(e) {
        e.preventDefault();
        console.log(e);
        
        for(var i=0;i<e.touches.length;i++) {
          var id = e.touches[i].identifier;
          if(lastPt[id]) {
            ctx.beginPath();
            ctx.moveTo(lastPt[id].x, lastPt[id].y);
            ctx.lineTo(e.touches[i].pageX, e.touches[i].pageY);
            ctx.strokeStyle = colours[id%4];
            ctx.lineWidth = 3;
            ctx.stroke();
          }
          lastPt[id] = {x:e.touches[i].pageX, y:e.touches[i].pageY};
        }
      }
      
      function end(e) {
        e.preventDefault();
        for(var i=0;i<e.changedTouches.length;i++) {
          var id = e.changedTouches[i].identifier;
          delete lastPt[id];
        }
      }
      
    </script>
  </head>
  
  <body onload="init()">
    <canvas id="canvasbox">
      Canvas element not supported.
    </canvas>
  </body>
Codice:
#canvasbox {
	position: relative;
	margin: auto;
	width: 500px;
	height: 500px;
	border: 1px black solid;
}
 
Discussioni simili
Autore Titolo Forum Risposte Data
D [Javascript] Simulare click / touch su mobile Javascript 7
I Creare un banner temporaneo JavaScript Javascript 0
S Impossibile scorrere un oggetto in JavaScript Javascript 0
N Passare array da php a javascript PHP 5
L Quiz javascript funzionante da migliorare Javascript 0
P errore 404 con javascript Javascript 2
D aiuto funzioni javascript Javascript 1
M Upload immagine con javascript problemi con FormData() Javascript 1
L countdown multiplo javascript Javascript 1
S Problemi Javascript + Aruba Javascript 2
M Inviare un file su un server remoto con JavaScript Javascript 0
T a href="javascript:;" Javascript 1
F Creare elementi html con javascript Javascript 3
A pulsante di update campo mysql con javascript Javascript 2
8 Javascript - PDF Form Javascript 0
B javascript per problemi con pdf e Safari Javascript 0
N informazione javascript Programmazione 0
I Eecuzione di javascript in ciclo foreach php. PHP 7
P javascript:document.forms Javascript 7
S Consiglio esercizio Javascript Javascript 2
MarcoGrazia Aggiungere o rimuovere classi in javascript Javascript 1
P Passaggio id php a javascript PHP 6
R Confrontare il dominio di una mail con una stringa contenente un dominio personalizzato, tutto ciò in php o javascript PHP 0
E lettura da un Database con Javascript jQuery 2
V TRIS in javascript Javascript 1
IClaude Funzione Javascript Javascript 8
Alex_70 Javascript date color Javascript 3
F Convertire JavaScript per la compatibilità nei browser obsoleti Javascript 0
I Passare dei parametri in javascript PHP 0
Shyson Meglio Javascript o HTML? Javascript 4
G Problema verifica palindromo e verifica pari e dispari javascript Javascript 0
M Chiamare pagina php da javascript Javascript 8
M Errore JavaScript per php [objeto HTMLParagraphElement] PHP 0
D Javascript per il download dei dati Javascript 0
grgfede Problema javascript con aruba Javascript 1
R Cerco supporto in programmazione javascript Offerte e Richieste di Lavoro e/o Collaborazione 0
webmachine [PHP] [JAVASCRIPT] Form strano in HTML PHP PHP 1
W Modificare il Type di un Input box in javascript ovunque si trovi Javascript 0
I javascript come caricare una pagina sopra quella corrente in automatico Javascript 2
L [Javascript] Problema salvataggio dati in db Javascript 1
max1974 [Javascript] Grafico chartjs con dati da J.ajax Javascript 3
G Quiz Javascript Javascript 4
A [Javascript] Scrittura su più campi contemporaneamente Javascript 18
F classic asp popolare combo box javascript Presentati al Forum 1
claudio_lorenzo [Javascript] aiuto su jquery per calcolo altezze dom Javascript 1
F [Javascript] comando innerHTML non funziona Javascript 5
alexice51 proggrammi per scrivere in javascript? Javascript 3
max1974 [Javascript] Accordion aria-exspanded Javascript 0
D [Javascript] salvare immagine canvas - paypal Javascript 0
O [Javascript] Conflitto Jquery: forse... Javascript 0

Discussioni simili