移动端横竖屏判断

<script type="text/javascript">

var bianhua = function() {

var supportOrientation = (typeof window.orientation === 'number' && typeof window.onorientationchange === 'object');

    var init = function() {

        var htmlNode = document.body.parentNode,orientation;

        var updateOrientation = function() {

            if (supportOrientation) {

                orientation = window.orientation;

                switch (orientation) {

                    case 90:

                    case -90:

                        orientation = 'landscape';

document.getElementById("Flash1").innerHTML="横屏";

                        console.log("横");

                        detectOrient();

                        break;

                    default:

                        orientation = 'portrait';

                        console.log("竖");

document.getElementById("Flash1").innerHTML="竖屏";

                        detectOrient();

                        break;

                }

            } else {

                orientation = (window.innerWidth > window.innerHeight) ? 'landscape' : 'portrait';

            }

            htmlNode.setAttribute('class', orientation);

        };

        if (supportOrientation) {

            window.addEventListener('orientationchange', updateOrientation, false);

        } else {

            //监听resize事件

            window.addEventListener('resize', updateOrientation, false);

        }

        updateOrientation();

    };

    window.addEventListener('DOMContentLoaded', init, false);

};

bianhua();

// 利用 CSS3 旋转 对根容器逆时针旋转 90 度

var detectOrient = function() {

    var width = document.documentElement.clientWidth,

        height = document.documentElement.clientHeight,

        $wrapper = document.getElementById("Flash1"),

        style = "";

    if (width >= height) { // 横屏

        style += "width:" + width + "px;"; // 注意旋转后的宽高切换

        style += "height:" + height + "px;";

        style += "-webkit-transform: rotate(0); transform: rotate(0);";

        style += "-webkit-transform-origin: 0 0;";

        style += "transform-origin: 0 0;";

    } else { // 竖屏

        style += "width:" + height + "px;";

        style += "height:" + width + "px;";

        style += "-webkit-transform: rotate(90deg); transform: rotate(90deg);";

        // 注意旋转中点的处理

        style += "-webkit-transform-origin: " + width / 2 + "px " + width / 2 + "px;";

        style += "transform-origin: " + width / 2 + "px " + width / 2 + "px;";

    }

    $wrapper.style.cssText = style;

}

window.onresize = detectOrient;

</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值