我正在尝试倾斜基于HTML5 DeviceOrientation事件的图像。然而,我看到即使在设备稳定的情况下,事件也在不断地触发,即不旋转/不移动。在下面的代码片段中,控制台日志被连续打印出来。可能的原因是什么,我如何才能阻止它。
我试过捕捉和冒泡,
if (window.DeviceOrientationEvent) {
window.addEventListener('deviceorientation', function(eventData) {
var tiltLR = eventData.gamma;
console.log("tiltLR..........",tiltLR);
}, false);
}发布于 2016-12-09 19:52:33
我以前不需要使用这种类型的事件侦听器,所以我对输出不太熟悉。
然而,我认为你需要比较旧的倾斜和新的倾斜。如果新的倾斜度明显大于或小于...执行代码。
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);
}https://stackoverflow.com/questions/41059422
复制相似问题