首页 > 其他分享 >大屏适配方案--flexWindow

大屏适配方案--flexWindow

时间:2024-12-24 20:21:57浏览次数:8  
标签:const -- 适配 50% timer height widthTemp 大屏 console

<template>
  <div class="ScreenAdapter" :style="style">
    <slot />
  </div>
</template>
<script>
export default {
  name: '',
  // 参数注入
  props: {
    width: {
      type: String,
      default: '1920'
    },
    height: {
      type: String,
      default: '1080'
    },
    srceenShow: {
      type: Boolean,
      default: true
    }
  },
  data() {
    return {
      style: {
        width: this.width + 'px',
        height: this.height + 'px',
        transform: 'scale(1) translate(-50%, -50%)'
      }
    }
  },
  mounted() {
    this.setScale()
    window.onresize = this.Debounce(this.setScale, 1000)
  },
  methods: {
    Debounce: (fn, t) => {
      console.log('尺寸变化')
      const delay = t || 500
      let timer
      return function() {
        const args = arguments
        if (timer) {
          clearTimeout(timer)
        }
        const context = this
        timer = setTimeout(() => {
          timer = null
          fn.apply(context, args)
        }, delay)
      }
    },
    // 获取放大缩小比例。。
    getScale() {
      const div = document.documentElement.getElementsByClassName('largeScreen')
      let widthTemp = 0
      let heightTemp = 0
      if (this.srceenShow) {
        widthTemp = window.innerWidth
        heightTemp = window.innerHeight
      } else {
        widthTemp = div[0].clientWidth
        heightTemp = div[0].clientHeight
      }
      console.log(widthTemp)
      const w = widthTemp / this.width
      const h = heightTemp / this.height
      console.log(w, h, 'ooo');
      return w < h ? w : h
    },
    // 设置比例
    setScale() {
      this.style.transform =
          'scale(' + this.getScale() + ') translate(-50%, -50%)'
      console.log('缩放')
    }
  }
}
</script>
  <style lang="scss" scoped>
  .ScreenAdapter {
    transform-origin: 0 0;
    position: absolute;
    left: 50%;
    top: 50%;
    transition: 0.3s;
  }
  </style>

备注:外层css样式

.full-screen-wrap {
    height: 100vh;
    background-image: url(../../static/img/bg.e7445ed7.png);
    background-size: 100% 100%;
}

  

 

标签:const,--,适配,50%,timer,height,widthTemp,大屏,console
From: https://www.cnblogs.com/wangshengli520/p/18628641

相关文章

  • pandas 数据库操作
    importpandasaspdfromsqlalchemyimportcreate_engine#username="root"password="@WSX3edc"host="127.0.0.1"port=3306database="test"engine=create_engine("mysql+pymysql://{username}:{password}@{hos......
  • 《程序员修炼之道:从小工到专家》读书笔记——4
    培养良好的开发习惯成为专家程序员不仅仅依赖于技术能力,还需要养成良好的开发习惯。良好的开发习惯不仅能提高开发效率,还能保证代码质量,减少错误发生的可能性。专家程序员通常在开发过程中保持高度的规范性和系统性,遵循最佳实践,不断优化自己的开发流程,做到更好。首先,专家程序员......
  • 《程序员修炼之道:从小工到专家》读书笔记——6
    代码审查与团队协作在软件开发过程中,代码审查是一项至关重要的活动。它不仅可以提高代码质量,发现潜在的错误,还能够促进团队成员之间的技术交流和学习。对于程序员来说,进行有效的代码审查,不仅是对自己代码的验证,也是提高整体团队技术水平的一种方式。专家程序员通常非常重视代码......
  • 《程序员修炼之道:从小工到专家》读书笔记——5
    有效沟通和团队协作成为一个技术专家,不仅需要技术能力的提升,还需要具备良好的沟通和团队协作能力。大多数项目都是团队合作的成果,专家程序员通常在团队中起到核心作用,通过有效沟通协调各方,推动项目的顺利进行。首先,专家程序员要具备良好的表达能力和沟通技巧。他们能够清晰地阐......
  • Github 如何下载仓库的部分文件
    https://stackoverflow.com/questions/7106012/download-a-single-folder-or-directory-from-a-github-repositoryUpdateApril2021:thereareafewtoolscreatedbythecommunitythatcandothisforyou:DownloadDirectory(Creditstofregante)Ithasalso......
  • 2024集训D11总结
    集训D11总结模拟赛总结T1题意\(k\)个大小为\(s_i\)的连通块,用\(k-1\)条边联通,设\(d_i\)为第\(i\)个连通块的度数(只考虑连的\(k-1\)条边).每种连边方案的权值为\(\prod\limits_id_i\),求所有方案的权值和.题解这个性质看一眼就能联想到经典的图......
  • 《计算机科学基础》(FOCS)复习笔记
    Chap.1DataStorage电路组合逻辑电路:无环,用于计算,比较,数据移动,编码解码。时序逻辑电路:数据保持或震荡,用于存储(计数器,寄存器)。触发器Flip-Flop:set&hold。整数原码,反码,补码(反码加一,便于实现运算部件)。移码\([X]=2^n+X\),主要表示浮点数的阶码。浮点数S1E3M4:一位......
  • 阅读报告 Phys. Rev. Lett. 130, 177001 (2023).
    摘要:本文为CollectiveTransportforNonlinearCurrent-VoltageCharacteristicsofDopedConductingPolymers,Phys.Rev.Lett.130,177001(2023)的阅读报告.文章中的参考文献均来自于文章Phys.Rev.Lett.130,177001(2023)底下的参考文献.报告正文:1.实验观测到......
  • 继承中的构造函数
    基本概念当申明一个子类对象时,先执行父类的构造函数,然后再执行子类的构造函数子类可以通过base调用父类构造函数继承中的构造函数执行顺序ClassGameObject{publicGameObject(){Console.WriteLine("GameObject的构造函数")}}ClassPlayer:Ga......
  • SDOI/SXOI2022 做题笔记
    SDOI/SXOI2022做题笔记持续更新中……题目:https://www.luogu.com.cn/problem/list?tag=114%7C59&page=1目录SDOI/SXOI2022做题笔记[SDOI/SXOI2022]小N的独立集[SDOI/SXOI2022]整数序列[SDOI/SXOI2022]小N的独立集时间复杂度\(O(n^2k^4)\)。ケロシの代码constin......