1

我今天刚下载了 Firefox 3.6,我注意到在新功能列表中他们有一个方向 API,可以检测你的笔记本电脑/计算机倾斜的方向。这显然是某种硬件功能。因此,如果您没有这样做的硬件,是否有任何方法可以模拟它,以便您可以在您的项目中对其进行测试?

4

1 回答 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 回答