h5的横屏适配

野生程序猿-杂烧4年前随意分享1052

最近遇到一个问题,我们开发的软件是横屏软件,因客户群体主要是学校,就是使用者是老师和学生。本来软件设计的是电脑机房里用,现在学校希望手机也可以用。结果手机用起来就是这个现象。

ssssss.png


老师提意见,说字太小看不清。本来让客户开个屏幕旋转就可以了,但是因为要求老师、学生都多做一步太麻烦(我们的宗旨是不麻烦客户)。于是要做个旋转横屏效果。

于是进行代码改造来解决,主要是旋转,以及新的宽高计算。因为我开发一直用的rem单位,所以只要插件式开发就可以了

function app_size()
{
	

	var $scope=app.$scope;
	var bili=1.77778;
    var all_width=window.innerWidth;
    var all_height=window.innerHeight;
    var rotate=0;
    if(all_height>all_width*bili)
    {
		var WW=all_width;
		var HH=Math.floor(all_width*bili);
    }else{
        var HH=all_height;
        var WW=Math.floor(all_height/bili);       
    }
    if(rotate==90)
    {

        var top='left';
        var left='top';
        var margin_left=(all_height-HH)/2+HH;
        var margin_top=(all_width-WW)/2;
        var leftx=(all_width-WW)/2+WW;
        var topx=(all_height-HH)/2;

    }else{

        var top='top';
        var left='left';
        var margin_left=(all_width-WW)/2;
        var margin_top=(all_height-HH)/2;
        var leftx=(all_width-WW)/2;
        var topx=(all_height-HH)/2;
    }

    $scope.rotate = rotate;
    $scope.WW = WW;
    $scope.HH = HH;
    $scope.app_width = WW;
    $scope.app_height = HH;
    $scope.all_width = all_width;
    $scope.all_height = all_height;
    $scope.top = top;
    $scope.left = left;
    $scope.topx = topx;
    $scope.leftx = leftx;
    $scope.margin_top = margin_top;
    $scope.margin_left = margin_left;
    $("html").css("font-size",WW + "px");
	app.update();
	
}

虽然很惭愧还是用的jquery,但是好在我是用的jquery+angular.js,可以通过插件的原理,修改框架css,不需要动源代码。更主要的是监听resize,输入法出来后可以再计算尺寸,不是歪的。

标签: angular.js

相关文章

按键精灵+大漠插件 打boss(脚本demo3)

前面介绍了大漠插件,这里再来个复杂点的,这个是 4个号多开刷任务Sub 初始巡检() //判断是否出于英雄之门界面 Delay 10000 MoveTo 40...

GPS经纬度坐标系转换【js版】

万能的javascript版也来了,前端、后端nodejs都能用。<html> <body> <script>  /**   ...

电脑驱动的正确安装方式

电脑驱动的正确安装方式

虽然从事开发工作,但好歹是做技术的,先前就遇到做开发的同事驱动都无法正常安装,只能傻瓜式的setup,很多时候是装不上的。正常的傻瓜式安装, 安装的是最新版本驱动,你的驱动是旧的也提示“已经为您安装了...

html5-声音视频自动播放的坑

因为从事的是教学软件的开发,不知何年何月开始声音、视频不支持自动播放了。必须点一个按钮才能播放。教学类软件很多都是有动画的,像播放器一样,从头开始慢慢播放,可以理解为n帧,但是因为程序开发不是视频制作...

python小网站开发

看了前面讲的开发分段,开发小网站其实需要到的知识点不太多,有其他语言基础的基本可以直接上手。【views.py】""" 从module里 取方法,直接把数据提...

如何判断一个经纬度是哪个省?

需求是这样的,有个卖gps防盗器的公司,需要分析出用户去年一年内经过了那些城市?假设有10万个用户,每个用户有100万个轨迹点。我们怎么分析呢?常规方法是一个点一个点的分析,那就是10w*100w=1...