Programmeren voor aanraakschermen:
Een uitgewerkt voorbeeld

Op deze pagina kun je lezen hoe je zoiets aanpakt. De code van het voorbeeld kun je downloaden om zelf te gebruiken, inclusief het plaatje.

Voor de goede orde: Het gaat hier alleen om het verslepen van het plaatje door de beweging van een vinger, op een aanraakscherm. Het scherm kan zijn van een een PC, laptop, tablet of een mobiele telefoon. Als aan dat apparaat een muis is gekoppeld, kun je het plaatje niet verslepen met de muis. Daar zijn andere technieken voor.

Gebruik:

De code van het voorbeeld ziet er als volgt uit:
 
(Zet dit in de <HEAD>).

.wrapper {
  position:relative;
  width:110%;
  height:200px;
}
#draggable {
  position:absolute;
  top:0;
  left:0;
  width:200px;
  height:200px;
  border:0;
}
</style>
<script>
window.addEventListener("load", function() {
  if ("ontouchstart" in document.documentElement) {
    var draggable = document.getElementById('draggable');
    var imgSizeX = 200;
    var imgSizeY = 200;
 
    draggable.addEventListener('touchmove', function(event) {
      var touch = event.targetTouches[0];
 
      var str = "Co&ouml;rdinaten van het aanraakpunt in het document
       (X<b>&rarr;</b>, Y<b>&darr;</b>): " + parseInt(touch.pageX,10)
        + ", " + parseInt(touch.pageY,10);
      document.getElementById('waarIsDeVinger').innerHTML = str;
 
    // Place the element where the finger is
      draggable.style.left = touch.pageX - imgSizeX/5*3 + 'px';
      draggable.style.top  = touch.pageY - imgSizeY*5/3 + 'px';
      event.preventDefault();
    }, false);
  };
});
</script>

(Zet dit in de <BODY> op de plaats waar de coördinaten moet verschijnen).

<p id="Melding" style="text-align:center">
<script>
if ("ontouchstart" in document.documentElement) {
  document.getElementById('Melding').innerHTML = "Het plaatje hieronder
      kun je verschuiven door het te verslepen met je vinger."
  document.getElementById('Melding').innerHTML += "<div
      id=\"waarIsDeVinger\">Co&ouml;rdinaten van het aanraakpunt in
      het document (X<b>&rarr;</b>, Y<b>&darr;</b>): --, --</div>";
} else {
  document.getElementById('Melding').innerHTML = "<b
      style=\"color:maroon; font-weight:bold\">Om het voorbeeld te
      kunnen bekijken is een aanraakscherm nodig. Op dit scherm werkt
      het dus niet.</b>";
}
</script>
</p>

(Zet dit in de <BODY> op de plaats waar het plaatje moet staan als de pagina wordt geladen).

<div class="wrapper">
  <img src="animate01.jpg" id="draggable">
</div>

Downloaden:
 
Druk op de knop: Download deze code  File: voorb324.zip, 14 690 bytes.

Opmerking:
 
Er is ook een versie van dit script waarbij de foto is opgesloten in een viewport. Zie het item: Programmeren voor aanraakschermen: Afbeelding in een viewport.

 
terug

html-324; Laatste wijziging: 26 mei 2021