2016-12-09 2 views
1

Ich versuche, ein Bild basierend auf HTML5 DeviceOrientation Ereignis zu neigen. Ich sehe jedoch, dass das Ereignis kontinuierlich ausgelöst wird, selbst wenn das Gerät stabil ist, d. H. Nicht rotierend/nicht bewegend. Im folgenden Codefragment wird das Konsolenprotokoll fortlaufend gedruckt. Was ist der mögliche Grund, wie kann ich es stoppen?So vermeiden Sie das kontinuierliche Auslösen von HTML5 DeviceOrientationEvent

habe ich versucht, sowohl die Erfassung und sprudelnde,

if (window.DeviceOrientationEvent) { 
       window.addEventListener('deviceorientation', function(eventData) { 
       var tiltLR = eventData.gamma; 
       console.log("tiltLR..........",tiltLR); 
       }, false); 
      } 

Antwort

0

ich diese Art von Ereignis-Listener hat erforderlich zu verwenden, bevor so bin ich mit dem Ausgang nicht vertraut.

Allerdings glaube ich, dass Sie die alte Neigung mit der neuen Neigung vergleichen müssen. Wenn die neue Neigung wesentlich größer oder kleiner ist, dann ... Code ausführen.

if (window.DeviceOrientationEvent) { 

     var originalTilt = undefined, 
      tolerance = 5; 

     window.addEventListener('deviceorientation', function(eventData) { 

      if (eventData.gamma > originalTilt + tolerance || 
       eventData.gamma < originalTilt - tolerance){ 
       var tiltLR = eventData.gamma; 
       console.log("tiltLR..........",tiltLR); 
       originalTilt = tiltLR; 
      } 

     }, false); 
    } 
Verwandte Themen