zoukankan      html  css  js  c++  java
  • 关于微信端 顶部会撑开页面的解决方案

    关于微信端 顶部会撑开页面的解决方案

    !function(){
      
      /**
      *clientHeigh  屏幕高度(长度)
      *clientWidth  屏幕宽度
      * innerHeight 去掉被导航栏遮盖的那部分之后的真是的能够显示的高度
      *valrem remVal 都是计算用的参数,自定义的
      *
      *if-对微信单独讨论的原因是微信只有上面的导航栏,其他UC,QQ等既有上面的 导航栏,也有下面的导航栏
      *else-这种方法 在iphone6的语境下,"写死"认为高度为1.28rem =  导航栏+ 信息显示栏(时间等信息的那个nav) ;实际上也差不多 :)
      */
      c
      isWx =/micromessenger/i.test(navigator.userAgent.toLowerCase());
      
      console.log("UA= " + navigator.userAgent.toLowerCase());
      console.log("clientHeight= "+clientHeight);
      
      console.log("innerHeight= "+innerHeight);
      console.log("valrem= " +valrem);
      console.log("clientWidth = " +clientWidth);
      console.log("remVar= "+remVar);
      
      
      if (innerHeight !== clientHeight) {
        //if-对微信单独讨论的原因是微信只有上面的导航栏,其他UC,QQ等既有上面的 导航栏,也有下面的导航栏
        if (isWx) {
          $("#section").css("transform","translateY("+valrem+")");
        }else{
          //else- 在iphone6的语境下,"写死"认为高度为1.28rem =  导航栏+ 信息显示栏(时间等信息的那个nav) ;实际上也差不多 :)
          $("#section").css("transform","translateY("+remVar+")");
          
        }
      }
    }();
    

    唯一的 遗憾是需要借助jquery,这个让人比较不爽,没有找到可以用的js的属性来表示clientHeight.

    //version2 这种情况并没有对全不全屏做任何限制.

    //version 2  对俺们可爱的头文件进行的特殊处理
    !function(){
      var
      clientWidth = document.documentElement.clientWidth,
      clientHeight=$(document).height();
      innerHeight = window.innerHeight,
      remVar=-1*(128-40)*(clientWidth/750)+"px",
      remVarWx=-1*(128-40)*(clientWidth/750)+20 +"px",
      isWx =/micromessenger/i.test(navigator.userAgent.toLowerCase());
    
      console.log("remVar = "+ remVar);
    
      if (innerHeight !== clientHeight) {
        //对微信单独讨论的原因是微信只有上面的导航栏,其他UC,QQ等既有上面的 导航栏,也有下面的导航栏
        if (isWx) {
          $("#section").css("transform","translateY("+remVarWx+")");
        }else{
          //这种方法 在iphone6的语境下,"写死"认为高度为 1.28rem =  导航栏+ 信息显示栏(时间等信息的那个nav) ;实际上也差不多 :)
          //version 2 为我们可爱的 导航栏留出了空间
          $("#section").css("transform","translate3d("+remVar+")");
        }
      }
    }();
    
  • 相关阅读:
    Codeforces 977F
    Codeforces 219C
    Codeforces 1132
    Codeforces 660C
    Codeforces 603A
    Codeforces 777C
    Codeforces 677
    JNUOJ 1032
    Codeforces 677D
    Codeforces 835C
  • 原文地址:https://www.cnblogs.com/muzhifeike/p/5871162.html
Copyright © 2011-2022 走看看