웹 프론트엔드 H5 튜토리얼 html5 DeviceOrientation_html5 튜토리얼 기술을 기반으로 WeChat 흔들기 기능 구현

html5 DeviceOrientation_html5 튜토리얼 기술을 기반으로 WeChat 흔들기 기능 구현

May 16, 2016 pm 03:46 PM
html5

HTML5에서는 DeviceOrientation 기능이 제공하는 DeviceMotion 이벤트가 기기의 모션 센서 시간을 캡슐화합니다. 시간을 변경하면 기기의 모션 상태, 가속도 및 기타 데이터를 얻을 수 있습니다. (기기 각도를 제공하는 deviceOrientation 이벤트도 있습니다. 오리엔테이션 및 기타 정보) .

DeviceMotion을 통해 장치의 모션 상태를 확인하면 웹 페이지에서 "흔들기" 대화형 효과를 얻는 데 도움이 될 수 있습니다.

모션 이벤트 모니터링


코드 복사
코드는 다음과 같습니다.

if (window.DeviceMotionEvent) {
window.addEventListener('devicemotion', deviceMotionHandler, false);
} else {
Alert('휴대폰 상태가 좋지 않습니다. 새 것을 구입하세요.');
}

가속 정보 얻기

'흔들기' 동작은 장치가 일정 시간 내에 일정 거리를 움직이는 것을 의미합니다. 따라서 일정 시간 범위 내에서 이전 단계에서 얻은 x, y, z 값의 변화율을 모니터링합니다. , 기기에 흔들림이 있는지 판단할 수 있습니다. 정상적인 움직임에 대한 오판단을 방지하기 위해서는 변화율에 대해 적절한 임계값을 설정해야 합니다.


코드 복사
코드는 다음과 같습니다.

function deviceMotionHandler(eventData) {
var 가속 = eventData.accelerationInclusiveGravity;
var curTime = new Date().getTime();
if ((curTime - last_update) > 100) {
var diffTime = curTime - last_update;
last_update = curTime;
x = 가속도.x;
y = 가속도.y;
z = 가속도.z;
var speed = Math.abs(x y z - last_x - last_y - last_z) / diffTime * 10000;
var status = document.getElementById("status");
if (speed > SHAKE_THRESHOLD) {
doResult();
}
last_x = x ;
last_y = y;
last_z = z;
}
}

효과는 사진과 같습니다.


본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

HTML의 중첩 테이블 HTML의 중첩 테이블 Sep 04, 2024 pm 04:49 PM

HTML의 중첩 테이블

HTML의 테이블 테두리 HTML의 테이블 테두리 Sep 04, 2024 pm 04:49 PM

HTML의 테이블 테두리

HTML 여백-왼쪽 HTML 여백-왼쪽 Sep 04, 2024 pm 04:48 PM

HTML 여백-왼쪽

HTML 테이블 레이아웃 HTML 테이블 레이아웃 Sep 04, 2024 pm 04:54 PM

HTML 테이블 레이아웃

HTML에서 텍스트 이동 HTML에서 텍스트 이동 Sep 04, 2024 pm 04:45 PM

HTML에서 텍스트 이동

HTML 정렬 목록 HTML 정렬 목록 Sep 04, 2024 pm 04:43 PM

HTML 정렬 목록

HTML 온클릭 버튼 HTML 온클릭 버튼 Sep 04, 2024 pm 04:49 PM

HTML 온클릭 버튼

HTML 입력 자리 표시자 HTML 입력 자리 표시자 Sep 04, 2024 pm 04:54 PM

HTML 입력 자리 표시자

See all articles