原因:body高度为100%,键盘弹出会导致高度变化,从而使布局混乱;部分手机会存在页面resize时闪烁。

解决方法:固定body的高度,不让其自适应;

let Height = $('body').height();//页面载入时获取body高度
$(window).resize(function() {
    $('body').height(Height);  //浏览器resize时给body赋值固定高度
});
解决H5键盘挡住输入框的方法

思路:键盘弹起时,让body滚动上去,保证输入框在可视窗口内;

window.onresize = () => {
      var domNeedTop = 90, //当前dom需要距离可视区域 顶部 高度
        domOffsetTop = $("input:focus").offset().top, //当前元素距离顶部高度;
        needScroll = domOffsetTop - domNeedTop; //滚动条需要向上滚动的距离
      $("html , body").animate({ scrollTop: needScroll }, "slow");
 };
监听浏览器后台运行
document.addEventListener("visibilitychange", () => {
      if (document.hidden) {
        //页面后台运行
      } else {
        //页面重新回来
      }
});

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐