屏幕的适配

1、安装插件

2、在util文件夹里面新建一个index.js文件,并封装debounceEvent方法

export const debounceEvent = function(cb, delay = 300) {

  let timeId;

  return function() {

    if (timeId) {

      clearTimeout(timeId);

    }

    timeId = setTimeout(() => {

      cb.apply(this, arguments);

    }, delay);

  };

};

3、在mixins文件夹下新建elementResizeDetector.js文件

import elementResizeDetectorMaker from 'element-resize-detector'

import { debounceEvent } from '@/util'

export default {

  destroyed() {

    if (this.erd) {

      this.erd.removeAllListeners(this.ele)

    }

  },

  methods: {

    elementResizeDetector() {

      this.erd = elementResizeDetectorMaker()

      this.ele = document.getElementById('screen')

      this.erd.listenTo(

        this.ele,

        debounceEvent((element) => {

          var width = element.offsetWidth

          var height = element.offsetHeight

          // 全屏

          if (height >= 1079) {

            // console.log("全屏");

            this.$nextTick(() => {

              let htmlDom = document.getElementsByTagName('html')[0]

              htmlDom.style.fontSize = '192px'

              if (this.$refs.chart && this.$refs.chart.myChart) {

                this.$refs.chart.myChart.resize()

              }

              if (this.$refs.chart1 && this.$refs.chart1.myChart) {

                this.$refs.chart1.myChart.resize()

              }

              if (this.$refs.chart2 && this.$refs.chart2.myChart) {

                this.$refs.chart2.myChart.resize()

              }

              if (this.$refs.chart3 && this.$refs.chart3.myChart) {

                this.$refs.chart3.myChart.resize()

              }

              if (this.$refs.chart4 && this.$refs.chart4.myChart) {

                this.$refs.chart4.myChart.resize()

              }

              if (this.$refs.chart5 && this.$refs.chart5.myChart) {

                this.$refs.chart5.myChart.resize()

              }

              if (this.$refs.chart6 && this.$refs.chart6.myChart) {

                this.$refs.chart6.myChart.resize()

              }

              if (this.$refs.chart7 && this.$refs.chart7.myChart) {

                this.$refs.chart7.myChart.resize()

              }

              if (this.$refs.chart8 && this.$refs.chart8.myChart) {

                this.$refs.chart8.myChart.resize()

              }

              if (this.$refs.chart9 && this.$refs.chart9.myChart) {

                this.$refs.chart9.myChart.resize()

              }

              if (this.$refs.chart10 && this.$refs.chart10.myChart) {

                this.$refs.chart10.myChart.resize()

              }

              if (this.$refs.chart11 && this.$refs.chart11.myChart) {

                this.$refs.chart11.myChart.resize()

              }

              if (this.$refs.chart12 && this.$refs.chart12.myChart) {

                this.$refs.chart12.myChart.resize()

              }

            })

          }

          //退出全屏

          if (width >= 1680 && width <= 1710) {

            // console.log("退出全屏");

            this.$nextTick(() => {

              let htmlDom = document.getElementsByTagName('html')[0]

              htmlDom.style.fontSize = '168px'

              if (this.$refs.chart && this.$refs.chart.myChart) {

                this.$refs.chart.myChart.resize()

              }

              if (this.$refs.chart1 && this.$refs.chart1.myChart) {

                this.$refs.chart1.myChart.resize()

              }

              if (this.$refs.chart2 && this.$refs.chart2.myChart) {

                this.$refs.chart2.myChart.resize()

              }

              if (this.$refs.chart3 && this.$refs.chart3.myChart) {

                this.$refs.chart3.myChart.resize()

              }

              if (this.$refs.chart4 && this.$refs.chart4.myChart) {

                this.$refs.chart4.myChart.resize()

              }

              if (this.$refs.chart5 && this.$refs.chart5.myChart) {

                this.$refs.chart5.myChart.resize()

              }

              if (this.$refs.chart6 && this.$refs.chart6.myChart) {

                this.$refs.chart6.myChart.resize()

              }

              if (this.$refs.chart7 && this.$refs.chart7.myChart) {

                this.$refs.chart7.myChart.resize()

              }

              if (this.$refs.chart8 && this.$refs.chart8.myChart) {

                this.$refs.chart8.myChart.resize()

              }

              if (this.$refs.chart9 && this.$refs.chart9.myChart) {

                this.$refs.chart9.myChart.resize()

              }

              if (this.$refs.chart10 && this.$refs.chart10.myChart) {

                this.$refs.chart10.myChart.resize()

              }

              if (this.$refs.chart11 && this.$refs.chart11.myChart) {

                this.$refs.chart11.myChart.resize()

              }

              if (this.$refs.chart12 && this.$refs.chart12.myChart) {

                this.$refs.chart12.myChart.resize()

              }

            })

          }

          //折叠

          if (width >= 1860 && width <= 1870) {

            // console.log("折叠");

            this.$nextTick(() => {

              let htmlDom = document.getElementsByTagName('html')[0]

              htmlDom.style.fontSize = '186px'

              if (this.$refs.chart && this.$refs.chart.myChart) {

                this.$refs.chart.myChart.resize()

              }

              if (this.$refs.chart1 && this.$refs.chart1.myChart) {

                this.$refs.chart1.myChart.resize()

              }

              if (this.$refs.chart2 && this.$refs.chart2.myChart) {

                this.$refs.chart2.myChart.resize()

              }

              if (this.$refs.chart3 && this.$refs.chart3.myChart) {

                this.$refs.chart3.myChart.resize()

              }

              if (this.$refs.chart4 && this.$refs.chart4.myChart) {

                this.$refs.chart4.myChart.resize()

              }

              if (this.$refs.chart5 && this.$refs.chart5.myChart) {

                this.$refs.chart5.myChart.resize()

              }

              if (this.$refs.chart6 && this.$refs.chart6.myChart) {

                this.$refs.chart6.myChart.resize()

              }

              if (this.$refs.chart7 && this.$refs.chart7.myChart) {

                this.$refs.chart7.myChart.resize()

              }

              if (this.$refs.chart8 && this.$refs.chart8.myChart) {

                this.$refs.chart8.myChart.resize()

              }

              if (this.$refs.chart9 && this.$refs.chart9.myChart) {

                this.$refs.chart9.myChart.resize()

              }

              if (this.$refs.chart10 && this.$refs.chart10.myChart) {

                this.$refs.chart10.myChart.resize()

              }

              if (this.$refs.chart11 && this.$refs.chart11.myChart) {

                this.$refs.chart11.myChart.resize()

              }

              if (this.$refs.chart12 && this.$refs.chart12.myChart) {

                this.$refs.chart12.myChart.resize()

              }

            })

          }

        }, 400)

      )

    }

  }

}

4、在需要适配的页面导入文件和mixins的共享函数

import elementResizeDetector from "@/mixins/elementResizeDetector";

mixins: [elementResizeDetector],

5、使用

 fullScreen() {

      var element = document.getElementById("screen");

      this.$screenfull.request(element); // 元素全屏

      this.elementResizeDetector();

    },

在mounted里面调用fullScreen

相关推荐

  1. Vue 组件 mixin 函数,用于屏幕

    2023-12-18 06:16:02       12 阅读
  2. Flutter 屏幕之相对尺寸

    2023-12-18 06:16:02       23 阅读
  3. 【Android】App 屏幕方案

    2023-12-18 06:16:02       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-18 06:16:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-18 06:16:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-18 06:16:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-18 06:16:02       18 阅读

热门阅读

  1. 【Docker】离线一键式安装docker、docker-compose

    2023-12-18 06:16:02       49 阅读
  2. matlab实现单精度、16进制之间的转换函数

    2023-12-18 06:16:02       36 阅读
  3. 前端已死?尊嘟假嘟?

    2023-12-18 06:16:02       33 阅读
  4. React基础知识点与实践

    2023-12-18 06:16:02       30 阅读
  5. 学习C语言——体会计算机中的0和1

    2023-12-18 06:16:02       34 阅读
  6. HTML5面试题

    2023-12-18 06:16:02       33 阅读
  7. mysql 的charset是什么 有哪些?

    2023-12-18 06:16:02       36 阅读
  8. 【golang】go执行shell命令行的方法( exec.Command )

    2023-12-18 06:16:02       45 阅读
  9. DOS及DDOS的原理及防御方式

    2023-12-18 06:16:02       34 阅读