我今天刚下载了 Firefox 3.6,我注意到在新功能列表中他们有一个方向 API,可以检测你的笔记本电脑/计算机倾斜的方向。这显然是某种硬件功能。因此,如果您没有这样做的硬件,是否有任何方法可以模拟它,以便您可以在您的项目中对其进行测试?
问问题
570 次
1 回答
3
您应该能够MozTransform
使用以下代码(从Mozilla Orientation Demo 2借用的代码)来模拟:
var x = 0;
var y = 0;
// This will rotate / zoom your document based on the x and y values:
document.body.style.MozTransform = 'rotate(' + (-y * 30) + 'deg) ' +
'scale(' + (x + 1) + "," + (x + 1) + ')';
如果您正在构建基于 Orientation API 的应用程序,您可以按如下方式实现事件侦听器:
function onChangeOrientation(e)
{
var x = e.x;
var y = e.y;
var z = e.z;
// Here you may need to standardize the values of x, y and z
// For example: (-1 * y) on MacBookPro > 5.1.
processOrientationLogic(x, y, z);
}
// Add the Event Listener for the Accelerometer
window.addEventListener("MozOrientation", onChangeOrientation, true);
然后要模拟方向事件,只需processOrientationLogic()
使用您的 x、y 和 z 值启动即可。您可以从Firebug执行此操作,或者您也可以在页面上创建某种三滑块控件,在每次更改时调用此函数。
于 2010-01-22T01:31:48.243 回答