1.验证window.innerHeight

系统版本 iOS9.1.1 安卓4.4.4
没有输入法的情况下 504 567
有输入法的情况下 208 273

看来两者的window.innerHeight都不包括输入法的那部分。

也验证了当输入法弹起来的时候,$('#id').css("bottom")都是相对输入法上面区域来定位的,也就是window.innerHeight来定位的。

2.验证window.outerHeight

系统版本 iOS9.1.1 安卓4.4.4
没有输入法的情况下 0 1134
有输入法的情况下 0 545

IOS不支持outerHeight属性,郁闷!

3.验证(document.documentElement||document.body).clientHeight

系统版本 iOS9.1.1 安卓4.4.4
没有输入法的情况下 504 567
有输入法的情况下 504 273

看来两者的又有差异,IOS下clientHeight包括输入法部分,安卓不包括clientHeight部分。

4.验证元素的高度变化,例如:$('#id').css("height");                     //节点的文档高度,绝对定位,按照bottom来确定位置的。

系统版本 iOS9.1.1 安卓4.4.4
没有输入法的情况下 353px 408px
有输入法的情况下 353px 114px

可以见得:有无输入框法,ios下高度没有变化,安卓就非常好的适应了,这是个IOS下的bug哦。

验证上面元素内部元素的高度变化趋势(内部元素高度是动态变化的),例如:$('#innerid').css("height");

iOS9.1.1:311px----663px----929px---1195px;

安卓4.4.4:357px---573px----870px---1192px;

可以见得:变化都是趋势是OK的。

5.这会导致神马问题了?

在IOS下,当输入法推上去的时候,页面的内容也回推上去,内容只有window.innerHeight高度的内容了,又由于clientHeight没有变化,而输入框就占领了一部分。

同时页面元素的高度没有变化,导致元素的滚动条展开不了,那么必然会失去一部分内容,失去的内容的高度就是输入法的高度。

解决之道:

第一步:$('#id').css("height",window.innerHeight);            //把元素的高度设置为window.innerHeight

第二步:由于内容是向上消失的,所以要用元素的top定位。

     var inputHeight = (document.documentElement||document.body).clientHeight-window.innerHeight;  //输入法的高度

     $('#id').css('top',inputHeight);

动作对UI的渲染太大,用setTimeout来延迟执行。

目前搞到的就是这些,有什么牛B的好办法就好了。

最新文章

  1. 【PRINCE2是什么】PRINCE2认证之七大原则(5)
  2. 树型hierarchyid类型
  3. Android打开相机和打开相册
  4. Undokumentierte @Formeln/LotusScript im Lotus Notes Client/Server
  5. KPROCESS IDT PEB Ldr 《寒江独钓》内核学习笔记(3)
  6. (转载)OC学习篇之---Foundation框架中的NSObject对象
  7. django cookie
  8. 转:Emmet 学习之路 - 2 基本语法
  9. angular.js基础
  10. HTML5 Audio/Video 标签,属性,方法,事件汇总 (转)
  11. [NOIp 2012]同余方程
  12. 【转】getopt模块,实现获取命令行参数
  13. django中form组件
  14. windows下使用vscode编写运行以及调试C/C++
  15. 【转】CNN卷积神经网络_ GoogLeNet 之 Inception(V1-V4)
  16. Using Spring.net in console application
  17. XnView查看图片实际大小
  18. 清理SYSAUX表空间的WRH$_LATCH_CHILDREN表
  19. Hadoop2.7.3 HA高可靠性集群搭建
  20. [C/C++] 结构体存储问题

热门文章

  1. iOS开发小技巧--图片的圆角处理
  2. 【CodeVS 1198】【NOIP 2012】国王游戏
  3. 【BZOJ 1758】【WC 2010】重建计划 分数规划+点分治+单调队列
  4. Java算法-插入排序
  5. android开发之自定义组件
  6. Redis哈希-hash
  7. wrapper for lua
  8. 简单二维元胞自动机 MATLAB实现
  9. 踩的python列表及for循环一个坑儿
  10. 分布式ID生成器