vux、h5打包的app如何横向屏幕?找到一个骚操作

1.vux、h5打包的app如何横向屏幕?

想说点废话,欲言又止,回归正题,直接看源码吧

2.源码如下:vue的写法
  methods:{
    detectOrient(){
      var width = document.documentElement.clientWidth,
      height = document.documentElement.clientHeight,
      $wrapper = this.$refs.bd,					//改这个东西就得了,获取容器对象
      style = "";
      if (width >= height) { // 横屏
        style += "width:" + width + "px;";  // 注意旋转后的宽高切换
        style += "height:" + height + "px;";
        style += "-webkit-transform: rotate(0); transform: rotate(0);";
        style += "-webkit-transform-origin: 0 0;";
        style += "transform-origin: 0 0;";
        console.log(1)
      }
      else { // 竖屏
        style += "width:" + height + "px;";
        style += "height:" + width + "px;";
        style += "-webkit-transform: rotate(90deg); transform: rotate(90deg);";
        // 注意旋转中点的处理
        style += "-webkit-transform-origin: " + width / 2 + "px " + width / 2 + "px;";
        style += "transform-origin: " + width / 2 + "px " + width / 2 + "px;";
        console.log(2)
      }
      $wrapper.style.cssText = style;
    },
    nextView(){
      this.$router.push({path:'/animat',name:'animat', params:{role:this.role, name:'你好'}})
    }
  },
  mounted(){
    var that = this;
    // 利用 CSS3 旋转 对根容器逆时针旋转 90 度
        window.onresize = that.detectOrient();
        that.detectOrient();
  }
3.注意事项:

这个操作存在有一些bug,比如loading时并不会跟着旋转等,只能解决一时之需,如需详细 传送门开启


有帮助的话记得回来三连
发布了37 篇原创文章 · 获赞 92 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43386443/article/details/104525971