• vue全屏组件


    <template>
      <div ref="full_screen" style="overflow: hidden;height: 100%; 100%;">
        <div ref="adapter_screen" style=" 1920px;height: 1080px;position: relative;transform-origin: 0 0 0">
          <slot></slot>
          <svg-icon :icon-class="fullScreenBtnData" class="fullScreenBtnSty" @click="fullScreenBtnFun"/>
        </div>
      </div>
    </template>
    
    <script>
      export default {
        name: "FullScreen",
        data() {
          return {
            fullScreenBtnData: "fullscreen"
          }
        },
        mounted() {
          let fullScreen = this.$refs.full_screen
          let adapterScreen = this.$refs.adapter_screen
          adapterScreen.style.transform = `scale(${fullScreen.offsetWidth / 1920},${fullScreen.offsetHeight / 1080})`
          window.addEventListener("resize", (ev) => {
            adapterScreen.style.transform = `scale(${fullScreen.offsetWidth / 1920},${fullScreen.offsetHeight / 1080})`
          }, false)
    
          document.addEventListener('fullscreenchange', () => {
            if (!document.fullscreenElement) {
              this.fullScreenBtnData = 'fullscreen'
            }
          }, false)
        },
        methods: {
          fullScreenBtnFun() {
            if (this.fullScreenBtnData === 'fullscreen') {
              this.fullScreenBtnData = 'exit-fullscreen'
              this.$refs.full_screen.requestFullscreen()
            } else {
              this.fullScreenBtnData = 'fullscreen'
              document.exitFullscreen()
            }
          }
        }
      }
    </script>
    
    <style scoped>
      .fullScreenBtnSty {
        position: absolute;
        top: 10px;
        right: 10px;
        z-index: 100;
        cursor: pointer;
        color: white;
        font-size: 18px;
      }
    </style>
  • 相关阅读:
    rabbitmq在centos7下安装
    跨域问题
    11生成器相关及推导式(附内置函数分析图url)
    10函数名的应用,闭包,和迭代器
    09函数的动态传参及global和nonlocal关键字
    08函数简介
    07基本的文件操作
    06set集合和深浅拷贝(包括前面的一些知识点补充)
    05判断和编码/解码
    04基本数据类型(字典)
  • 原文地址:https://www.cnblogs.com/linding/p/14329781.html
Copyright © 2020-2023  润新知