当前位置: 首页 > 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

相关文章:

  • 在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职位信息,并做数据分析
  • 第19届威尼斯建筑双年展开幕,中国案例呈现“容·智慧”
  • 伊朗外长称正与美国进行“善意”的会谈
  • 智利观众也喜欢上海的《好东西》
  • 时代中国控股:前4个月销售额18.1亿元,境外债重组协议押后聆讯至5月底
  • 巴西总统卢拉将访华
  • 匈牙利外长称匈方已驱逐两名乌克兰外交官