orientationchange事件
window.orientation有3个值:
- 0 肖像模式
- 90 向左旋转90度的横向模式
- -90 向右旋转90度的横向模式
window.orientation发生变化时,就会触发orientationchange事件,事件的event不包含任何有价值的信息
唯一相关信息就是window.orientation
window.onorientationchange = function (){ console.log(window.orientation) }
MozOrientation事件
检测设备方向变化,只有带加速计的设备才支持
window上触发
event中包含3个属性:x,y,z,(值的范围都是:-1~1)
z=1表示设备时竖直状态,静止不动, 设备移动时,值变小,失重时为0
向右倾斜,x变小
向左倾斜,x变大
向外倾斜,y变小
向内倾斜,y变大
deviceorientation事件
类似MozOrientation事件,带加速计的设备支持,window上触发
deviceorientation意图是告诉开发人员设备的空间朝向
event上有5个属性:
alpha, 绕z轴(左右旋转),0~360之间的浮点数
beta,绕x(前后旋转),-180~180之间的浮点数
gamma,绕y(扭转设备),-90~90之间的浮点数
absolute,布尔值,表示设备是否返回一个绝对值
compassCalivrated,布尔值,表示设备的指南针是否校准过
用来 重新排列或修改屏幕上的元素,响应设备的方向而旋转的元素
devicemotion事件
检测设备什么时候再移动
event包含属性:
acceleration:一个包含x,y,z属性的对象,再不考虑重力的作用告诉你每个方向上的加速度
accelerationIncludingGravity: 一个包含下,x,y,z属性的对象,在考虑z轴自然重力加速度情况下,告诉你在每个方向上的速度
interval: 以毫秒表示的时间速度,必须在另一个devicemotion事件触发前传入,这个值在每个事件中应该是一个常量
rotationRate: 一个包含alpha,beta, gamma的对象
如果读取不到 acceleration、accelerationIncludingGravity、rotationRate这三个值,为null.