欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

grav html5,如何通过html5实现摇一摇的功能

发布时间:2023/12/10 编程问答 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 grav html5,如何通过html5实现摇一摇的功能 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

原理:使用DeviceMotion实现,关于DeviceMotion介绍可以查看

https://developer.mozilla.org/en-US/docs/Web/Reference/Events/devicemotion

通过DeviceMotionEvent,可以获得accelerationIncludingGravity的x,y,z属性,根据x,y,z属性的变化来判断设备是否有摇一摇的事件发生。

accelerationIncludeingGravity说明:

The acceleration of the device. This value includes the effect of gravity, and may be the only value available on devices that don’t have a gyroscope to allow them to properly remove gravity from the data.

代码如下:

html5使用DeviceMotionEvent实现摇一摇

.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;}

请执行摇一摇

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);

本文介绍了通过html5实现摇一摇的功能,更多相关内容请关注php中文网。

相关推荐:

总结

以上是生活随笔为你收集整理的grav html5,如何通过html5实现摇一摇的功能的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。