원칙: 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('mybody').className = 'doing'; document.getElementById('txt').innerHTML = '执行了摇一摇'; setTimeout(function(){ doing=0; document.getElementById('mybody').className='normal'; document.getElementById('txt').innerHTML = '请执行摇一摇'; },3000); } window.addEventListener("devicemotion", handleMotionEvent, true); </script></html>
이 글에서는 HTML5를 통한 흔들기 기능을 소개하고 있으니, 더 많은 관련 내용은 PHP 중국어 홈페이지를 참고해주세요.
관련 권장사항:
MySql을 통해 auto_increment를 보고 수정하는 방법
php를 통해 웹 데스크톱에 대한 바로가기를 생성하는 방법
위 내용은 html5를 통해 흔들기 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!