screenFix

手机适应横屏竖屏问题

<pre name="code" class="javascript">function screenFixed(){
        var agent = navigator.userAgent.toLowerCase();
        //适配安卓大屏手机
        if(agent.indexOf('android') > -1 && agent.indexOf('mobi') > -1){
            if(window.devicePixelRatio > 1){
                //这里有个坑,用screen.width计算,小米手机,横屏,依然跟竖屏一样的值
                //而且用innerWidth计算,不用多除以 dpi的值  window.screen.width/(320*window.devicePixelRatio)
                if(agent.indexOf('miuibrowser') > -1){ //小米手机强制使用innerWidth计算
                    var zoom = window.innerWidth / (320) * 100;
                }else{
                    var zoom = window.screen.width/(320*window.devicePixelRatio) *100;
                }
                zoom = (zoom>100) ? zoom : window.innerWidth/320*100;
                $('html').css({
                    zoom: zoom+'%'
                });
            }
        }
        //适配安卓大屏pad,这里有个坑,安卓部分pad设备agent没有android标识,跟ipad一样的agent
        if((agent.indexOf('macintosh') > -1 || agent.indexOf('ipad') > -1)  && window.devicePixelRatio == 1){
            var zoom = window.innerWidth / (320) * 100;
            //var zoom = window.screen.width/(320*window.devicePixelRatio) *100;
            zoom = (zoom>100) ? zoom : window.innerWidth/320*100;
            $('html').css({
                zoom: zoom+'%'
            });
        }
    }
    function addEvent(){
        //监听屏幕翻转事件
        var orientationEvent = ('onorientationchange' in window) ? 'orientationchange' : 'resize';
        window.addEventListener(orientationEvent, function() {
            $('html').css('visibility','hidden');
            window.setTimeout(function(){
                screenFix();
                $('html').css('visibility','visible');
            },1000);
        }, false);
    }


 


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值