Axure实战20:使用Axure和JavaScript实现浏览器FullScreen全屏效果

简介: Axure实战20:使用Axure和JavaScript实现浏览器FullScreen全屏效果

image.png

在本章中,你将学会使用Axure和JavaScript实现浏览器全屏效果。


项目背景


在B端或G端产品设计中,我们常常会接触到数据分析中台页面的设计。为了更好地展示数据分析的效果及给予用户更好的体验,覆盖式全屏展示模式成为一些大屏数据分析页面或者报表的首选。

那么本章中,我们将学习如何使用Axure和JavaScript实现浏览器全屏效果。


项目搭建


首先,创建一个新项目,命名为FullScreen。

image.png

页面样式-示例页面

我们拿一个数据分析页面作为示例页面。


image.png

示例页面也比较简单。

我们加了背景颜色#F0F2F5作为底色,然后拖入了一些矩形组件,修订了矩形的圆角,让卡片视图看起来没有那么锐利。

排布好卡片视图后,接着我们使用了第三方提供的图标库渲染页面。

我们在浏览器中预览下效果,PS:数据仅作为展示效果,不含其他业务逻辑。

image.png

页面样式-全屏按钮


接下来,我们来完成全屏的操作。

全屏的操作分为两部分:全屏展开、收起全屏。当我们点击全屏的时候,页面全屏时,全屏的按钮需要变成收起按钮;而我们收起全屏时,收起按钮需要变成全屏按钮。

基于这个页面逻辑,我们使用动态面板,设置两个状态,每个状态中放置一个按钮,点击时切换到另一个状态。

image.png

交互动作-全屏

页面样式完成后,我们来实现下交互动作,这里我们需要引用到两段JavaScript代码。


/*展开全屏*/
javascript:
function requestFullScreen(element) {
    var requestMethod = element.requestFullScreen || 
    element.webkitRequestFullScreen ||
    element.mozRequestFullScreen || 
    element.msRequestFullScreen;
    if (requestMethod) {
        requestMethod.call(element);
    } else if (typeof window.ActiveXObject !== "undefined") { 
                var wscript = new ActiveXObject("WScript.Shell");
                if (wscript !== null) {
                    wscript.SendKeys("{F11}");
                }
            }
       };
requestFullScreen(document.documentElement);


我们来看下javascript代码。

Element.requestFullscreen()方法用于异步请求,使得Element(元素)全屏显示。

然后需要这个请求支持谷歌(webkit)、火狐浏览器(moz)、IE浏览器(ms)的内核,如果请求成功就发出异步请求实现元素全屏显示。

收起全屏的代码也差不多的逻辑。


/*收起全屏*/
javascript:
function exitFull() {      
        var exitMethod = document.exitFullscreen || 
            document.mozCancelFullScreen || 
            document.webkitExitFullscreen || 
            document.webkitExitFullscreen; 
        if (exitMethod) {
            exitMethod.call(document);
        } else if (typeof window.ActiveXObject !== "undefined") {
            var wscript = new ActiveXObject("WScript.Shell");
            if (wscript !== null) {
                wscript.SendKeys("{F11}");
            }
        }
    };
javascript:
function exitFull() {      
        var exitMethod = document.exitFullscreen || 
            document.mozCancelFullScreen || 
            document.webkitExitFullscreen || 
            document.webkitExitFullscreen; 
        if (exitMethod) {
            exitMethod.call(document);
        } else if (typeof window.ActiveXObject !== "undefined") {
            var wscript = new ActiveXObject("WScript.Shell");
            if (wscript !== null) {
                wscript.SendKeys("{F11}");
            }
        }
    };
exitFull();


我们需要分别给展示全屏按钮、收起全屏按钮加入交互动作。

在“单击时”交互中,选择“打开链接”,选择“链接到URL或文件路径”,点击fx打开编辑弹窗,将JavaScript代码复制进去。

值得注意的一点是,一定要点击fx打开弹窗,在弹窗中复制,不然可能会因为格式排版问题造成不必要的错误。


image.png

项目预览

完成后,我们在浏览器中预览下效果。


image.png

当我们点击全屏的时候,页面全屏,并且全屏按钮变成收起,点击收起按钮,页面收起,收起按钮变成全屏。

哈哈哈,效果不错!

为了让这个项目能够公开访问,我们可以生成html文件,然后发布到gitHub或者gitee中,这样就可以将网站分享给朋友们了。


项目地址


FullScreen全屏: ricardowesley.gitee.io/fullscreen

快来动手试试吧!



相关文章
|
25天前
|
自然语言处理 JavaScript 前端开发
深入理解JavaScript中的闭包:原理与实战
【10月更文挑战第12天】深入理解JavaScript中的闭包:原理与实战
|
8天前
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
在浏览器执行js脚本的两种方式
|
5天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
12天前
|
Web App开发 JavaScript 前端开发
使用 Chrome 浏览器的内存分析工具来检测 JavaScript 中的内存泄漏
【10月更文挑战第25天】利用 Chrome 浏览器的内存分析工具,可以较为准确地检测 JavaScript 中的内存泄漏问题,并帮助我们找出潜在的泄漏点,以便采取相应的解决措施。
89 9
|
16天前
|
JavaScript 前端开发 开发者
探索JavaScript原型链:深入理解与实战应用
【10月更文挑战第21天】探索JavaScript原型链:深入理解与实战应用
25 1
|
29天前
|
SQL 前端开发 JavaScript
Nest.js 实战 (十五):前后端分离项目部署的最佳实践
这篇文章介绍了如何使用现代前端框架Vue3和后端Node.js框架Nest.js实现的前后端分离架构的应用,并将其部署到生产环境。文章涵盖了准备阶段,包括云服务器的设置、1Panel面板的安装、数据库的安装、域名的实名认证和备案、SSL证书的申请。在部署Node服务环节,包括了Node.js环境的创建、数据库的配置、用户名和密码的设置、网站信息的填写、静态网站的部署、反向代理的配置以及可能遇到的常见问题。最后,作者总结了部署经验,并希望对读者有所帮助。
107 11
|
28天前
|
存储 JavaScript 前端开发
前端开发:Vue.js入门与实战
【10月更文挑战第9天】前端开发:Vue.js入门与实战
|
8天前
|
前端开发 JavaScript
JavaScript新纪元:ES6+特性深度解析与实战应用
【10月更文挑战第29天】本文深入解析ES6+的核心特性,包括箭头函数、模板字符串、解构赋值、Promise、模块化和类等,结合实战应用,展示如何利用这些新特性编写更加高效和优雅的代码。
20 0
|
1月前
|
前端开发 JavaScript API
JavaScript逆向爬取实战——使用Python实现列表页内容爬取(一)
JavaScript逆向爬取实战——使用Python实现列表页内容爬取(一)
|
25天前
|
JavaScript API
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
66 0