当前位置: 首页 > news >正文

用于处理元素的全屏显示和退出全屏操作--useFullScreen

这个 useFullScreen 函数是一个自定义的 Vue Hooks,用于处理元素的全屏显示和退出全屏操作。它通过 ref 来引用需要全屏的元素,并提供了一个 handleFullScreen 方法来触发全屏或退出全屏。此外,它还提供了 getFullscreenElement 方法来获取当前全屏的元素,以及 fullscreenchangewatchFullListen 方法来处理全屏状态的变化。

/*
 * @Author: 寒露丶
 * @Date: 2025-01-02 10:59:52
 * @Description: desc
 */

import {
    ref } from 'vue'

export function useFullScreen() {
   
  // 需要全屏的元素
  const boxRefs = ref<any>()
  // 全屏状态
  const fullscreen = ref<boolean>(false)

  /**
   * 触发全屏方法
   * @param id
   */
  function handleFullScreen(id?: string) {
   
    let el = boxRefs.value
    if (boxRefs.value?.filter) {
   
      el = boxRefs.value?.filter((item: {
    classList: Iterable<unknown> | null | undefined }) => [...new Set(item.classList)].includes(`ref${
     id}`))[0]
    }
    // 判断是否已经是全屏
    // 如果是全屏,退出
    if (fullscreen.value) {
   
      if (document.exitFullscreen) {
   
        document.exitFullscreen()
      } else if ((document as any).webkitCancelFullScreen) {
   
        ;(document as any).webkitCancelFullScreen()
      } else if ((document as any
http://www.dtcms.com/a/14155.html

相关文章:

  • 在Vue中,JavaScript数组常用方法,添加,插入,查找,删除等整理
  • 【线性代数】1行列式
  • SpringBoot初始化8个常用方法
  • 浅聊如何通过redis去做一个排行榜
  • 人工智能浪潮下脑力劳动的变革与重塑:挑战、机遇与应对策略
  • Redis 内存回收机制
  • 通过docker安装部署deepseek以及python实现
  • Git 分布式版本控制工具使用教程
  • 破局・重构:建筑行业数字化转型生死时速——当“推土机思维”撞上“数据洪流”,谁能率先上岸?
  • 自然语言处理NLP入门 -- 第三节词袋模型与 TF-IDF
  • 129,【2】buuctf [BJDCTF2020]EzPHP
  • React进阶之React核心源码解析(一)
  • 开源机器人+具身智能 解决方案+AI
  • 第一天:爬虫介绍
  • 设置ollama接口能外部访问
  • maven导入spring框架
  • vue3读取webrtc-stream 视频流
  • Docker+Jenkins自动化部署SpringBoot项目【详解git,jdk,maven,ssh配置等各种配置,附有示例+代码】
  • ​矩阵元素的“鞍点”​
  • Python爬虫实战:获取51job职位信息,并做数据分析
  • el-table封装一个自定义列配置表格组件(vue3开箱即用)
  • 高速存储文章目录
  • 称呼计算器:智能科技,简化您的计算生活
  • python后端调用Deep Seek API
  • ffmpeg基本用法
  • 图数据库neo4j进阶(一):csv文件导入节点及关系
  • bitcoinjs学习1—P2PKH
  • 【开源免费】基于SpringBoot+Vue.JS工作流程管理系统(JAVA毕业设计)
  • ubuntu20.04+RTX4060Ti大模型环境安装
  • SpringBoot实战:高效获取视频资源