js图片全屏

摘要:
')})document.addEventListener('webkitfullscreenchange',function(){console.log('全屏切换!')})document.addEventListener('mozfullscreenchange',function(){console.log('全屏切换!
html,
        body {height:100%;
        }
        img {display:block;margin:100px auto 0;width:900px;cursor:pointer;
        }
        /*webkit和IE在元素进入全屏后,会保持元素原有的尺寸,所以需要通过css伪类进行设置 */img:-webkit-full-screen{width:100%;height:100%;
        }
        img:-ms-fullscreen {width:100%;height:100%;
        }
<img id="target"src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1530343927072&di=ba9a25dc1d88a14556abf44106a32a4f&imgtype=0&src=http%3A%2F%2Fup.enterdesk.com%2Fedpic_source%2Fe9%2F3d%2Ffc%2Fe93dfc90c7406e68dd72afac6dda0357.jpg"alt="">
window.onload = function() {
            let img = document.querySelector('#target');
            //监听事件 注意不同浏览器的兼容性问问题

       //错误事件为:fullscreenerror , 同样注意前缀
            document.addEventListener('fullscreenchange' , function() {
                console.log('全屏切换!')
            })
            document.addEventListener('webkitfullscreenchange' , function() {
                console.log('全屏切换!')
            })
            document.addEventListener('mozfullscreenchange' , function() {
                console.log('全屏切换!')
            })
            document.addEventListener('MSFullscreenChange' , function() {
                console.log('全屏切换!')
            })

       //图片点击切换全屏
            if(isFUllScreenEnabled()) {
                img.addEventListener('click', function() {
                    if(hasFullScreenElement()) {
                        exitFullScreen();
                    } else{
                        setFullScreen(img);
                    }
                });
            } else{
                console.log('此浏览器不支持全屏');
            }
        }
        
        
        //判断浏览器是否支持全屏
        functionisFUllScreenEnabled() {
            return document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled ||document.msFullscreenEnabled;
        }

        //判断是否有已全屏的元素
        functionhasFullScreenElement() {
            return document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement ||document.msFullscreenElement
        }

        //将目标元素设置为全屏展示
        functionsetFullScreen(target) {
            if(target.requestFullscreen) {
                target.requestFullscreen();
            }
            if(target.webkitRequestFullscreen) {
                target.webkitRequestFullscreen();
            }
            if(target.mozRequestFullScreen) {
                target.mozRequestFullScreen();
            }
            if(target.msRequestFullscreen) {
                target.msRequestFullscreen();
            }
        }
        
        //文档退出全屏
        functionexitFullScreen() {
            if(document.exitFullscreen) {
                document.exitFullscreen();
            }
            if(document.webkitExitFullscreen) {
                document.webkitExitFullscreen();
            }
            if(document.mozCancelFullScreen) {
                document.mozCancelFullScreen();
            }
            if(document.msExitFullscreen) {
                document.msExitFullscreen();
            }
        }

免责声明:文章转载自《js图片全屏》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#导出Excel-利用特性自定义数据php并发控制 , 乐观锁下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java注解

Java注解 注解实际就是一种元数据 为程序元素设置元数据 并且可以对程序执行没有影响。 元数据 描述数据的数据 元数据可以为程序元素(如方法、类等)上添加额外信息。元数据作用大概可以分为三类: 编写文档:通过代码里标识的元数据生成文档 比如Javadoc 代码分析:通过代码里标识的元数据对代码进行分析 比如利用反射获取代码中的元数据 编译检查:通过代码...

Java Swing编程之仿js树状折叠菜单

最近要完成一个需求:用swing做个树状菜单,含二级菜单,点击一级菜单展开二级菜单,且二级菜单数目超过预览视图会出现滚动条。由于swing研究的少,花了不少精力! 先看下测试效果图: 收起图: 展开图: 完整源码: 1 package com.xuwei.test2; 2 3 import java.awt.BorderLayout;...

RSA加密前端JS加密,后端asp.net解密,报异常

RSA加密前端JS加密,后端asp.net解密,报异常 参考引用:http://www.ohdave.com/rsa/的JS加密库 前端JS加密代码: function GetChangeStr() { debugger; var pwdStr = document.getElementById("txtPa...

项目中一次排序规则的改动,注意到js中map的遍历的顺序

背景:项目需要对前端页面上某个插件的下拉选择项进行排序,需要按照配置的顺序显示。 首先调查后台,发现sql语句中已经添加order by。之后发现查询结果遍历后封装进HashMap,这里改为LinkHashMap。再之后向前端返回json数据,使用的是net.sf.json.JSONObject,该方法对map进行序列化时是无序的,改用Gson进行序列化。...

Xcode基本操作

[From] http://blog.csdn.net/phunxm/article/details/17044337 1.Xcode IDE概览 说明:从左到右,依次是“导航窗格(Navigator)->边列(Gutter)->焦点列(Ribbon)->代码编辑窗口(Standard/Primary Editor)”。...

python 线程创建和传参(28)

在以前的文章中虽然我们没有介绍过线程这个概念,但是实际上前面所有代码都是线程,只不过是单线程,代码由上而下依次执行或者进入main函数执行,这样的单线程也称为主线程。 有了单线程的话,什么又是多线程?可以这么理解:一个线程执行一个代码块,多个线程可以同时执行多个代码,使用多线程能让程序效率更高。举个例子,你今天有两件事需要完成,分别是洗衣服和打扫房间,...