前端 JS 经典:封装全屏功能

简介: 前端 JS 经典:封装全屏功能

前言:创建一个 fullScreen.js 文件,里面有进入全屏方法、退出全屏方法、判断全屏元素方法、是否全屏方法、全屏切换方法等,且做兼容性判断。

// 进入全屏
export const enter = (ele) => {
  if (ele.requestFullscreen) {
    ele.requestFullscreen();
  } else if (ele.mozRequestFullscreen) {
    ele.mozRequestFullscreen();
  } else if (ele.webkitRequestFullscreen) {
    ele.webkitRequestFullscreen();
  } else if (ele.msRequestFullscreen) {
    ele.msRequestFullscreen();
  }
};
 
// 退出全屏
export const exit = () => {
  if (document.exitFullscreen) {
    document.exitFullscreen();
  } else if (document.mozCancelFullscreen) {
    document.mozCancelFullscreen();
  } else if (document.webkitExitFullscreen) {
    document.webkitExitFullscreen();
  } else if (document.msExitFullscreen) {
    document.msExitFullscreen();
  }
};
 
// 被全屏的元素
export const fullEle = () => {
  return (
    document.fullscreenElement ||
    document.mozFullScreenElement ||
    document.msFullScreenElement ||
    document.webkitFullScreenElement ||
    null
  );
};
 
// 当前是否全屏
export const isFull = () => {
  return !!fullEle();
};
 
// 全屏和非全屏切换
export const toggle = (ele) => {
  isFull() ? exit() : enter(ele);
};
目录
相关文章
|
11月前
|
JavaScript 前端开发 API
|
11月前
|
前端开发 JavaScript 数据可视化
58K star!这个让网页动起来的JS库,前端工程师直呼真香!
Anime.js 是一款轻量级但功能强大的JavaScript动画引擎,它能够以最简单的方式为网页元素添加令人惊艳的动效。这个项目在GitHub上已经获得58,000+星标,被广泛应用于电商页面、数据可视化、游戏开发等场景。
412 8
|
11月前
|
JavaScript 前端开发 容器
|
11月前
|
JavaScript 前端开发
|
11月前
|
存储 JavaScript 前端开发
|
11月前
|
移动开发 JavaScript 前端开发
|
11月前
|
存储 JavaScript 前端开发
|
11月前
|
JavaScript 前端开发
|
11月前
|
存储 JavaScript 前端开发
|
11月前
|
JavaScript 前端开发