IT源码网

JS实现手机摇一摇功能讲解

shasha 2020年02月19日 Web前端 355 0
//运动事件监听 
  if (window.DeviceMotionEvent) { 
      window.addEventListener('devicemotion',deviceMotionHandler,false); 
  } 
   
  //获取加速度信息 
  //通过监听上一步获取到的x, y, z 值在一定时间范围内的变化率,进行设备是否有进行晃动的判断。 
  //而为了防止正常移动的误判,需要给该变化率设置一个合适的临界值。 
  var SHAKE_THRESHOLD = 4000; 
 var last_update = 0; 
 var x, y, z, last_x = 0, last_y = 0, last_z = 0; 
 function deviceMotionHandler(eventData) { 
         var acceleration =eventData.accelerationIncludingGravity; 
         var curTime = new Date().getTime(); 
         if ((curTime-last_update)> 10) { 
             var diffTime = curTime -last_update; 
             last_update = curTime; 
             x = acceleration.x; 
             y = acceleration.y; 
             z = acceleration.z; 
             var speed = Math.abs(x +y + z - last_x - last_y - last_z) / diffTime * 10000; 
             if (speed > SHAKE_THRESHOLD) { 
                /* alert("你中奖啦!");*/  // Do something 
				openZoosUrl(); 
             } 
             last_x = x; 
             last_y = y; 
             last_z = z; 
         } 
 }
发布评论

分享到:

IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

js获取当前时间显示在页面上讲解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。