iis服务器助手广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript实现点击关闭全屏示例详解
  • 877
分享到

JavaScript实现点击关闭全屏示例详解

2024-04-02 19:04:59 877人浏览 安东尼
摘要

目录引言思路具体实现问题升级引言 今天,我们来探讨的问题是: 当点击图片的时候,我们需要其全屏展示,当我们再次点击的时候,图片退出全屏播放。 PS: 我们退出全屏播放的情况一般是按

引言

今天,我们来探讨的问题是:

当点击图片的时候,我们需要其全屏展示,当我们再次点击的时候,图片退出全屏播放。

PS: 我们退出全屏播放的情况一般是按 esc 退出。图片可以延伸到任何的 DOM 节点

在文末,我会将问题升级,留一个题目给读者思考?

图片全屏,这个跟文章全屏的效果一样,比如下面的文章全屏:

就是一个元素铺平整个屏幕

思路

那么,问题我们知道了。解决问题的思路是怎么样的呢?

  • 我们获取到图片元素的 DOM 节点
  • 我们调用全屏的函数进行全屏展示
  • 浏览器监听点击事件,当图片是全屏的状态,再次点击图片的时候,调用函数退出全屏

好了,思路有了,我们来实现下。

具体实现

假设我们有 html 代码如下:

<img id="image" src="path/to/image.postfix" alt="img" />

现在我们编写下 javascript 代码。

// 退出全屏
ngAfterViewInit() {
  const image = document.getElementById('image');
  image.addEventListener('click', (event: any) => {
    if(document.fullscreenElement === image) {
      document.exitFullscreen();
    }
    event.preventDefault();
  })
}
// 全屏查看
public fullscreenView(): void {
  const image = document.getElementById('image');
  image.requestFullscreen()
} 

这里我用了 typescript 来编写

当然,上面的代码并没有考虑相关的兼容性。

requestFullscreen 和 exitFullscreen 方法对现代的浏览器支持还是很可以的,在 PC 端上展示毫无压力。

但是,我们还是得对代码进行浏览器兼容写法:

这里我新建了个 utils.ts 的文件:

export class Utils {
  public static GotoFullscreen(dom: any): void {
    if (dom.requestFullscreen) {
      dom.requestFullscreen()
    } else if (dom.mozRequestFullScreen) {
      dom.mozRequestFullScreen()
    } else if (dom.WEBkitRequestFullscreen) {
      dom.webkitRequestFullscreen()
    } else if (dom.msRequestFullscreen) {
      dom.msRequestFullscreen()
    } else {
      console.error('当前浏览器不支持部分全屏!')
    }
  }
  public static exitFullscreen(dom: any): void {
    if (dom.exitFullscreen) {
      dom.exitFullscreen()
    } else if (dom.webkitExitFullscreen) {
      dom.webkitExitFullscreen()
    } else if (dom.msExitFullscreen) {
      dom.msExitFullscreen()
    }
  }
}

上面两个方法都是静态方法,调用方式 类名.静态方法,比如:Utils.gotoFullscreen(dom)。

问题升级

单点击图片,我们需要其全屏展示。然后设置全屏时候,右上角有一个退出的按钮。点击退出按钮,退出全屏展示。

感兴趣的读者可以先自己尝试下。

这里我给出简单的思路,可以作为参考。

1. 设定布局,将一个 div 包裹图片

2. 在 div 中设置一个按钮的元素 button,并对 button 进行 CSS 布局

3. 在图片全屏的时候,显示 button,并对 button 进行按钮事件(调用退出全屏的函数)

以上就是JavaScript 实现点击关闭全屏示例详解的详细内容,更多关于JavaScript 点击关闭全屏的资料请关注编程网其它相关文章!

--结束END--

本文标题: JavaScript实现点击关闭全屏示例详解

本文链接: https://www.lsjlt.com/news/166053.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript实现点击关闭全屏示例详解
    目录引言思路具体实现问题升级引言 今天,我们来探讨的问题是: 当点击图片的时候,我们需要其全屏展示,当我们再次点击的时候,图片退出全屏播放。 PS: 我们退出全屏播放的情况一般是按 ...
    99+
    2024-04-02
  • AmazeUI如何实现点击元素显示全屏功能
    这篇文章主要介绍AmazeUI如何实现点击元素显示全屏功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!点击按钮:<!DOCTYPE html><html> <hea...
    99+
    2023-06-09
  • javascript实现点击全选功能
    在网页设计和开发中,常常需要选中多个复选框或条目。手动选中每个复选框或条目是一件非常费时费力的事情,特别是当选项数量很多时。为了解决这个问题,开发人员可以添加一个“点击全选”按钮,以便用户可以轻松地选中所有选项。在本文中,我们将探讨如何使用...
    99+
    2023-05-21
  • echart实现大屏动效示例详解
    目录1.通过dataZoom实现柱状图动态前移效果2.叠加流光效果3.柱状图光亮轮播1.通过dataZoom实现柱状图动态前移效果 最近做大屏相关需求,产品说需要炫酷一点的效果,于是...
    99+
    2022-11-13
    echart大屏动效 echart动效
  • Javascript如何实现点击提示效果
    这篇文章主要介绍了Javascript如何实现点击提示效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Javascript如何实现点击提示效果文章都会有所收获,下面我们一起来看看吧。在电脑中新建一个HTML项...
    99+
    2023-07-04
  • nginxpodhook钩子优雅关闭示例详解
    目录一.系统环境二.前言三.pod hook(pod钩子)四.如何优雅的关闭nginx pod一.系统环境 服务器版本docker软件版本Kubernetes(k8s)集群版本CPU...
    99+
    2022-11-13
    nginx pod hook钩子关闭 nginx pod hook
  • vue怎么实现点击鼠标关闭抽屉
    Vue是一种流行的JavaScript框架,许多开发人员使用Vue来构建动态的、交互式的Web应用程序。抽屉(Drawer)是在Vue中常见的一种UI元素,它通常用于隐藏和显示菜单或控件面板等内容。然而,在使用抽屉时,经常会遇到一个问题,那...
    99+
    2023-05-14
  • JavaScript实现LRU算法的示例详解
    目录LRU简介如何实现实现思路缺陷双向链表+哈希表双向链表实现思路不知道屏幕前的朋友们,有没有和我一样,觉得LRU算法原理很容易理解,实现起来却很复杂。 明明一个map就能解决,标准...
    99+
    2023-05-17
    JavaScript实现LRU算法 JavaScript LRU算法 JavaScript LRU
  • Android再探全面屏适配示例详解
    目录前言Android P前后对不同的场景做适配状态栏导航栏和底部横条1. SYSTEM_UI_FLAG_HIDE_NAVIGATION2. SYSTEM_UI_FLAG_FULLS...
    99+
    2023-03-01
    Android全面屏适配 Android 全面屏
  • Python实现完全数的示例详解
    目录一、前言二、完全数是什么1、定义2、规律3、梅森素数三、版本(1.0):硬算四、版本1.1:数的末尾侦测五、版本1.2:除以9侦测六、版本2.0:梅森素数侦测一、前言 卷起来好吧...
    99+
    2023-01-06
    Python实现完全数 Python 完全数
  • 基于Vue中点击组件外关闭组件的示例分析
    这篇文章主要为大家展示了“基于Vue中点击组件外关闭组件的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“基于Vue中点击组件外关闭组件的示例分析”这篇文...
    99+
    2024-04-02
  • Vue自定义指令实现点击右键弹出菜单示例详解
    目录一、实现思路1.使用contextmenu事件2.点击菜单之外的任意地方关闭菜单3.菜单置于图层的最顶层二、源代码一、实现思路 1.使用contextmenu事件 该需求需要拦截...
    99+
    2023-01-11
    Vue自定义指令右键弹出菜单 Vue自定义指令 点击右键弹出菜单
  • 【前端】 Layui点击图片实现放大、关闭效果
    实现效果:点击图片实现放大,点击空白处关闭效果。下图。 实现逻辑:二维码是使用JQ插件生成的,点击二维码,获取图片路径,通过Layui的弹窗显示放大后的图片。 Html 签到二维码(放大) js代码,获取点击图片的路径,修改样式  $("...
    99+
    2023-09-03
    前端 layui javascript
  • js实现MaterialUI点击涟漪效果示例
    目录正文HTMLCSSJS实现效果 正文 我个人而言还是挺喜欢Material UI这套设计风格的。一些细节方面做的还不错。就比如今天要给大家分享的点击涟漪效果。Mater...
    99+
    2024-04-02
  • QtC++实现录屏录音功能的示例详解
    目录录屏部分录音部分合成部分转成动态库完整项目录屏部分 录屏的主要思路为抓取屏幕截图,然后将其合成视频。抓取屏幕若使用qt自带的抓屏会出现抓不到鼠标的问题,所以应重写抓屏: stat...
    99+
    2023-03-08
    Qt C++录屏录音 Qt 录屏录音 C++ 录屏录音
  • kotlinobject关键字单例模式实现示例详解
    目录正文一、 匿名内部类二、单例模式三、伴生对象1、深入分析伴生对象2、用伴生对象实现工厂模式3、用伴生对象实现单例模式(1)、借助懒加载委托(2)、伴生对象 Double Chec...
    99+
    2023-01-12
    kotlin object关键字单例模式 kotlin object
  • javascript怎么实现点击按钮显示/隐藏
    本文小编为大家详细介绍“javascript怎么实现点击按钮显示/隐藏”,内容详细,步骤清晰,细节处理妥当,希望这篇“javascript怎么实现点击按钮显示/隐藏”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一...
    99+
    2023-07-06
  • Bootstrap模态框自定义点击和关闭事件的示例分析
    这篇文章将为大家详细讲解有关Bootstrap模态框自定义点击和关闭事件的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。模态框避免点击背景处关闭:1、div初始化...
    99+
    2024-04-02
  • Android App实现闪屏页广告图的全屏显示实例
    目录1. 适配长屏幕的全面屏2. 适配刘海屏或者水滴屏凹形屏幕的显示模式1. 适配长屏幕的全面屏 至于全屏展示,就得做适配工作,有以下两种方式可进行适配: 在 Android 8.0...
    99+
    2024-04-02
  • spring-security关闭登录框的实现示例
    事情要从同事的一个项目说起,项目中需要集成公司的单点登录系统,但是无论如何都无法跳转到正常的登录页面。相反,却始终跳转到另外一个登录页面。 但是代码却非常简单,简化一下 @Co...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作