javascript - 检测 iPhone 是否在旋转时旋转?

标签 javascript jquery

我有以下代码,当您以某种方式旋转我的页面时,它会更新我的页面的背景图片:

window.onorientationchange = function() {
    var orientation = window.orientation;
    switch (orientation) {
    case 0:
        $(".bg-img").css("background-image", "url(" + portrait + ")");
        break;
    case 90:
        $(".bg-img").css("background-image", "url(" + landscape + ")");
        break;
    case -90:
        $(".bg-img").css("background-image", "url(" + landscape + ")");
        break;
    };
};​

这可行,但是当页面旋转时,加载新图像需要几秒钟,并导致页面看起来很奇怪。

有没有检测到方向正在改变,而不是改变?像 willAnimateFirstHalfOfRotationToInterfaceOrientation 这样的东西?

最佳答案

deviceorientation事件触发并更新设备的当前位置。 Here's a demo.

请注意,这仅适用于 iPhone ≥ 4 和 iPad ≥ 2。较旧的 Apple 硬件没有陀螺仪。

该事件也适用于我的 Galaxy Nexus Android 4 设备的 Chrome 和标准浏览器。

你也可以 preload您的背景图像,以便立即发生切换。

关于javascript - 检测 iPhone 是否在旋转时旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12610677/

相关文章:

javascript - 如果我在我的页面上使用 CSS 缩放,然后将另一个包含动画的网站加载到 iframe 中,我的页面会变得模糊并且动画行为不正常

javascript - 可点击的 LI 否决 LI 内的链接

javascript - 使用Flask return修改网页

jquery - 使用 jQuery UI 制作国际象棋游戏。我已经使用了 Draggable,但我需要让它们不堆叠

jquery - Highcharts 删除零值标签

jquery - 自动完成文本框设计不匹配

javascript - JS 空焦点输入

javascript - 选择元素和后续文本

jQuery,如何使用 for 循环打印文本两次?

jquery - 带有 iPhone 动画曲线的动画 GUI