利用html5实现类似微信的手机摇一摇功能-计算摇动次数
来源:互联网 发布:ps淘宝详情页参数 编辑:程序博客网 时间:2024/05/13 00:49
1、 deviceOrientation:封装了方向传感器数据的事件,可以获取手机静止状态下的方向数据,例如手机所处角度、方位、朝向等。
2、 deviceMotion:封装了运动传感器数据的事件,可以获取手机运动状态下的运动加速度等数据。
不多说直接上代码:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
var
jsonObject=
null
;
// 当页面加载完以后会执行window.onload
window.onload =
function
() {
var
times = -1;
// 记录摇动次数
var
last_time = 0;
var
borderSpeed = 800;
// 加速度变化临界值
var
x = y = z = last_x = last_y = last_z = 0;
if
(window.DeviceMotionEvent) {
window.addEventListener(
'devicemotion'
,shake,
false
);
}
else
{
alert(
'您的设备不支持摇一摇哦'
);
}
// 每次手机移动的时候都会执行下面shake函数的代码
function
shake(eventData)
{
var
acceleration = eventData.accelerationIncludingGravity;
var
curTime =
new
Date().getTime();
var
diffTime = curTime-last_time;
// 每隔100ms进行判断
if
(diffTime>100) {
x = acceleration.x;
y = acceleration.y;
z = acceleration.z;
var
speed = Math.abs(x + y + z - last_x - last_y - last_z) / diffTime * 10000;
// 判断手机确实发生了摇动而不是正常的移动
if
(speed>borderSpeed) {
times++;
document.getElementById(
"text"
).innerHTML=times+
" times"
;
// 用户的微信昵称和头像连接发送一次即可,不需要每次都发送
if
(times==0)
{
document.forms[
"insertForm"
].headimg.value =img ;
document.forms[
"insertForm"
].user.value = nickname;
}
document.forms[
"insertForm"
].time.value = times;
}
last_time = curTime;
last_x = x;
last_y = y;
last_z = z;
}
}
}
html:
1
2
<
img
src
=
"hand.png"
>
<
br
/><
font
size
=
"16"
color
=
"red"
id
=
"text"
></
font
>
阅读全文
0 0
- 利用html5实现类似微信的手机摇一摇功能-计算摇动次数
- 用HTML5实现手机摇一摇的功能
- 用HTML5实现手机摇一摇的功能
- 用HTML5实现手机摇一摇的功能 .
- 用HTML5实现手机摇一摇的功能
- 用HTML5实现手机摇一摇的功能
- HTML5实现手机摇一摇的功能
- 用HTML5实现手机摇一摇的功能
- HTML5实现类似刮刮卡的功能
- HTML5实现类似刮刮卡的功能
- 微信摇动代码
- 如果实现类似微信附近的人功能
- HTML5实现手机摇一摇功能
- 利用传感器实现微信的摇一摇功能
- 利用传感器实现微信的摇一摇功能
- 利用传感器实现微信的摇一摇功能
- 利用传感器实现微信的摇一摇功能
- android 类似微信的摇一摇实现
- 欧拉函数 POJ2480
- java基础之方法的重载和重写
- Android 自定义View (一)
- PHP 7 的五大新特性
- pdf.js如何默认显示指定页码
- 利用html5实现类似微信的手机摇一摇功能-计算摇动次数
- qt5.9+qtcreator4.3.1 helloworld+添加图标流程
- hibernate配置多个数据源及事物(以两个数据源为例)
- XShell配置一个可以直接进入指定机器的指定目录的方法
- day_01_概述、名字空间、结构体、枚举、字符串
- ubuntu安装wps
- Android全局异常处理(捕获异常,不弹出程序崩溃)
- MYSQL问题解决方案:Access denied for user 'root'@'localhost' (using password:YES)
- Android 自定义View (二) 进阶