首页 > 其他分享 >Vue.js框架:单个div盒子(元素)放至全屏显示

Vue.js框架:单个div盒子(元素)放至全屏显示

时间:2023-03-13 09:57:24浏览次数:37  
标签:Vue 元素 js else 全屏 element document fullBoolean

一、页面元素

  需要全屏展示的div或其他元素标签的id要设置,方便获取dom节点。

  再添加一个可以触发点击事件的元素进行操作。

<div id="fullDom">
    <span @click="fullScreen">全屏显示</span>
</div>

二、脚本逻辑

  1、预置一个用于控制是否全屏显示的字段

data() {
    return {
        //是否全屏显示,默认否
        fullBoolean: false,
    }
}

  2、根据当前是否全屏展示的状态判断要进行的操作,如果当前未全屏则放至全屏,如果已全屏则退出全屏效果

fullScreen() {
    if(!this.fullBoolean){
        //如果未全屏,则开启全屏
        this.fullBoolean = true
        //获取需要全屏的元素
        let full = document.getElementById('fullDom')
        //开启全屏方法
        this.toFullscreen(full)
        //分辨率调整后,重新初始化方法
        this.init();
    }else{
        //如果已全屏,则退出全屏
        this.fullBoolean = false
        //退出全屏方法
        this.cancelFullscreen()
        //分辨率调整后,重新初始化方法
        this.init();
    }
},       

  3、添加开启全屏方法

//全屏方法
toFullscreen(element) {
    //全屏
    if (element.requestFullscreen) {
        element.requestFullscreen()
    } 
    //兼容Firefox全屏
    else if (element.mozRequestFullScreen) {
        element.mozRequestFullScreen()
    } 
    //兼容Chrome Safari Opera全屏
    else if (element.webkitRequestFullscreen) {
        element.webkitRequestFullscreen()
    } 
    //兼容IE Edge全屏
    else if (element.msRequestFullscreen) {
        element.msRequestFullscreen()
    }
},

  4、添加取消全屏方法

//退出全屏
cancelFullscreen() {
    if (document.exitFullscreen) {
        document.exitFullscreen()
    } else if (document.mozCancelFullScreen) {
        document.mozCancelFullScreen()
    } else if (document.webkitCancelFullScreen) {
        document.webkitCancelFullScreen()
    } else if (document.msExitFullscreen) {
        document.msExitFullscreen()
    }
},

 

标签:Vue,元素,js,else,全屏,element,document,fullBoolean
From: https://www.cnblogs.com/guobin-/p/17210337.html

相关文章

  • React之JSX 简介详细介绍
    设想如下变量声明:constelement=<h1>Hello,world!</h1>;这个有趣的标签语法既不是字符串也不是HTML。它被称为JSX,是一个JavaScript的语法扩展。我们建议在Rea......
  • JS_0074:new Promise await 等待后执行,同步加载 加载threejs 加载字体
    1,一,使用TextGeometry创建3D文字1.需加载字体配合使用,使用THREE.FontLoader//加载字体loadFont(){returnnewPromise(function(resolve,reject)......
  • windows部署vue项目:nginx
    一点废话:vue部署这个事儿原本是打算写上下两篇的,上篇nginx下篇tomcat,很完美。奈何笔者太菜tomcat还没学会,只好附点使用记录,等实操过了再来补全。在此立个flag,期待一下我薛......
  • 我的第一个vue页面
    1.使用编辑器打开我们使用vue-cli创建的项目2.创建自己的vue文件  1)在views文件夹中创建vue组件  注意:首字母大写eg.HelloView.vue<!--在页面中显示的内容-->......
  • 为什么commonjs不能treeshaking
    因为只有模块是静态导入时,treeshaking才有效果,commonjs可以有如下写法if(flag){require('./a.js')}else{require('./b.js')}我是这样理解的,在代码没有运行之前,......
  • vue以及vue脚手架的安装
    一、安装nodejs1.下载nodejs安装包,双击安装2.配置需要图片展示的配置addtopath是添加环境变量,全局使用node3.修改安装路径不想安装到c盘,点击change,改变安装路径......
  • JSONUtil常用方法
    字符串JSON转集合(JSONUtil.toList())StringshopTypeJson=stringRedisTemplate.opsForValue().get(shopTypeKey);//shopTypeKey:缓存中的KEYList<ShopType>shopTypeLis......
  • JS中操作(处理)各类型数据的方法
    操作(处理)数据的方式主要有:数据类型转换增删改查变化显示(翻转,排序,大小写)合并截取​1.字符串数据操作方法获取字符串长度 length获取字符在字符串中所处位置indexOf()获取出......
  • webpack、vite、vue-cli、create-vue 的区别
    首先说结论Rollup更适合打包库,webpack更适合打包项目应用,vite基于rollup实现了热更新也适合打包项目。功能工具工具脚手架vue-clicreate-vue构建项目 vit......
  • P4047 [JSOI2010]部落划分
    地图上标注了n个野人居住的地点(可以看作是平面上的坐标)。我们知道,同一个部落的野人总是生活在附近。我们把两个部落的距离,定义为部落中距离最近的那两个居住点的距离。......