-
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
//监听手机摇动事件
if
(window.DeviceMotionEvent) {
window.addEventListener(
'devicemotion'
, deviceMotionHandler,
false
);
}
else
{
alert(
'你的设备不支持DeviceMotion事件'
);
}
var SHAKE_THRESHOLD =
3000
;
var last_update =
0
;
var x = y = z = last_x = last_y = last_z =
0
;
//摇一摇开关,1表示开,0表示关
var canShake =
1
;
function deviceMotionHandler(eventData) {
var acceleration = eventData.accelerationIncludingGravity;
var curTime =
new
Date().getTime();
//100ms监听一次,拒绝重复监听
if
((curTime - last_update) >
100
&& canShake==
1
) {
var diffTime = curTime - last_update;
last_update = curTime;
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 > SHAKE_THRESHOLD) {
canShake=
0
;
var myAuto = document.getElementById(
'musicBox'
);
myAuto.play();
var httpurl = contextPath +
"/servlet/chouJiangServlet?"
+ Math.random();
$.post(httpurl, {
"requestKey"
:
''
,
"choujiangProgram"
:
'Yaoyiyao'
,
'choujiangGiftId'
: document.getElementById(
"choujiangGiftId"
).value
}, function(data) {
try
{
var json = eval(
"("
+ data +
")"
);
}
catch
(e) {
alert(
"网络通信故障,请刷新后再试。"
);
return
;
}
var status = json[
'status'
];
var message = json[
'message'
];
var awardId = json[
'data'
][
'id'
];
var yaoyiyaoJifen = json[
'data'
][
'currUserJifen'
];
document.getElementById(
"currUserJifen"
).value=yaoyiyaoJifen;
if
(status ==
1
){
switch
(awardId){
case
0
:
document.getElementById(
"interface1"
).style.display=
"none"
;
document.getElementById(
"interface2"
).style.display=
"inline"
;
break
;
case
1
:
document.getElementById(
"interface1"
).style.display=
"none"
;
document.getElementById(
"interface3"
).style.display=
"inline"
;
break
;
}
//没有登录或登录超时,跳转登录
}
else
if
(status ==
3
) {
loading.goUrl(
"../user/login.shtml"
);
//其他错误
}
else
{
alert(message);
}
});
}
last_x = x;
last_y = y;
last_z = z;
}
}
js 侦听手机摇动事件,模仿微信摇一摇功能
最新推荐文章于 2022-08-31 01:00:00 发布