<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      H5做出手機搖一搖技巧的完成步驟

      [摘要]今天教大家用HTML5來在網頁里實現一個很炫酷的功能,手機搖一搖。如果你之前做過手機端的開發,可能對于這樣的功能非常了解。但是下面,我們將在Web上首次實現這個功能。方向事件deviceorientation該事件實在設備方向發生變化時觸發, 使用方法如下;window.addEventListe...
      今天教大家用HTML5來在網頁里實現一個很炫酷的功能,手機搖一搖。如果你之前做過手機端的開發,可能對于這樣的功能非常了解。但是下面,我們將在Web上首次實現這個功能。

      方向事件deviceorientation

      該事件實在設備方向發生變化時觸發, 使用方法如下;

      window.addEventListener('deviceorientation', orientationHandler, true);

      回調函數orientationHandler會接收到一個DeviceOrientationEvent類型參數, 包含以下信息.

      屬性名 說明

      absolute 如果方向數據跟地球坐標系和設備坐標系有差異, 則為true

      alpha 設備在alpha方向上旋轉的角度, 范圍為0-360

      beta 設備在Beta方向上旋轉的角度, 范圍為-180-180

      gamma 設備在Gamma方向上旋轉的角度, 范圍為-90-90

      移動事件devicemotion

      該事件實在設備位置發生變化時觸發

      window.addEventListener('devicemotion', motionHandler, false);

      該回調函數會接受DeviceMotionEvent類型參數, 包含以下信息.

      屬性名 說明

      acceleration 設備在X,Y,Z三個軸的方向上移動的距離, 以抵消重力加速度

      accelerationIncludingGravity 設備在X,Y,Z三個軸方向移動的距離, 包含重力加速度

      rotationRate 設備在Alpha, Beta, Gamma三個方向旋轉的角度

      interval 從設備獲取數據的頻率, 單位是毫秒

      代碼部分

      <!DOCTYPE html>
      <html>
      <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>搖一搖</title>
      </head>
      <body>
        <p>
          搖一搖
        </p>
        <script>
          const SHAKE_SPEED = 300;
          let lastTime = 0;//上次變化的時間
          let x = y = z = lastX = lastY = lastZ = 0;//位置變量初始化
       
          function  motionHandler(event) {
            let acceleration = event.accelerationIncludingGravity;
            let curTime = Date.now();//取得當前時間
            if ((curTime - lastTime) > 120) {
              let diffTime = curTime - lastTime;
              lastTime = curTime;
              x = acceleration.x;
              y = acceleration.y;
              z = acceleration.z;
              //計算搖動速度
              let speed = Math.abs(x + y + z - lastX - lastY - lastZ) / diffTime * 1000;
              if (speed > SHAKE_SPEED) {
                alert("你搖動了手機");
              }
              lastX = x;
              lastY = y;
              lastZ = z;
            }
          }
          if(window.DeviceMotionEvent) {
            window.addEventListener('devicemotion', motionHandler, false);
          } else {
            alert("你的設備不支持位置感應");
          }
        </script>
      </body>
      </html>


      相信看了這些案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

      相關閱讀:

      html5中的DOM編程的實現步驟

      HTML里的事件怎么使用

      用canvas做出時鐘實現步驟

      以上就是H5做出手機搖一搖功能的實現步驟的詳細內容,更多請關注php中文網其它相關文章!


      網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。




      日韩精品一区二区三区高清