> 웹 프론트엔드 > H5 튜토리얼 > html5를 통해 흔들기 기능을 구현하는 방법

html5를 통해 흔들기 기능을 구현하는 방법

jacklove
풀어 주다: 2018-06-09 10:04:08
원래의
2687명이 탐색했습니다.

원칙: DeviceMotion을 사용하여 DeviceMotion에 대한 소개를 보려면
https://developer.mozilla.org/en-US/docs/Web/Reference/Events/devicemotion

을 참조하세요. 통해 DeviceMotionEvent AccelerationIncludeGravity의 x, y, z 속성은 x, y, z 속성의 변화에 ​​따라 기기에서 흔들림 이벤트가 발생하는지 확인하는 데 사용됩니다.

accelerationIncludeingGravity 설명:
이 값은 중력의 영향을 포함하며 자이로스코프가 없는 장치에서 데이터에서 중력을 적절하게 제거할 수 있는 유일한 값일 수 있습니다.

코드는 다음과 같습니다.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
 <head>
  <meta http-equiv="content-type" content="text/html;charset=utf-8">    
  <title> html5使用DeviceMotionEvent实现摇一摇 </title>
  <style type="text/css">
  .center{position:absolute; width:640px; height:480px; left:50%; top:50%; margin-left:-320px; margin-top:-240px; line-height:480px; text-align:center; font-size:100px; }
  .normal{background:#000000;}
  .normal .txt{color:#FFFFFF;}
  .doing{background:#FF0000;}
  .doing .txt{color:#FFFF00;}
  </style>
 </head>
 <body id="mybody" class="normal">
    <p id="txt" class="txt center">请执行摇一摇</p>
 </body>
 <script type="text/javascript">
    var doing = 0;  // 判断是否在动画显示中
    var speed = 23; // 定义摇动的速度数值
    var lastx = 0;    var lasty = 0;    var lastz = 0;    function handleMotionEvent(event) {
        var x = event.accelerationIncludingGravity.x;        var y = event.accelerationIncludingGravity.y;        var z = event.accelerationIncludingGravity.z;        if(doing==0){            if(Math.abs(x-lastx)>speed || Math.abs(y-lasty)>speed){
                doing = 1;
                show();
            }
        }
        lastx = x;
        lasty = y;
        lastz = z;
    }    function show(){
        document.getElementById(&#39;mybody&#39;).className = &#39;doing&#39;;
        document.getElementById(&#39;txt&#39;).innerHTML = &#39;执行了摇一摇&#39;;
        setTimeout(function(){
            doing=0; 
            document.getElementById(&#39;mybody&#39;).className=&#39;normal&#39;;
            document.getElementById(&#39;txt&#39;).innerHTML = &#39;请执行摇一摇&#39;;
        },3000);
    }
    window.addEventListener("devicemotion", handleMotionEvent, true); </script></html>
로그인 후 복사

이 글에서는 HTML5를 통한 흔들기 기능을 소개하고 있으니, 더 많은 관련 내용은 PHP 중국어 홈페이지를 참고해주세요.

관련 권장사항:

MySql을 통해 auto_increment를 보고 수정하는 방법

php를 통해 웹 데스크톱에 대한 바로가기를 생성하는 방법

js 탐색을 사용하여 테이블의 데이터를 얻는 방법


위 내용은 html5를 통해 흔들기 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿