找回密码
 立即注册

QQ登录

只需一步,快速开始

Ellia.Duan SpreadJS 开发认证
超级版主   /  发表于:2024-1-26 17:19  /   查看:1499  /  回复:0
在一些填报场景中,需要录入很多数据,此时想要让SpreadJS控件占满整个屏幕,该怎么设置呢?下文将分为两种情况,第一种是静态设置,即SpreadJS宽高不再发生变化,一直占满整个屏幕,第二种是需要动态设置,允许用户设置全屏,也可以允许用户退出全屏。


一、静态设置
  1.     <div id="gc-designer-container"></div>
复制代码
  1. var canvas = document.getElementById("gc-designer-container");
  2.             canvas.style.height = window.screen.height + 'px';
复制代码
如上代码,设置dom元素的高度即可。
二、动态设置

先设置html元素,如下代码所示:
  1. <div id="wrap">
  2.     <div>
  3.         <a href='javascript:void(0)' onclick="FullScreen()">展开/收起</a>
  4.     </div>
  5.     <div id="ss" style="height: 800px;width: 80%"></div>
  6. </div>
复制代码
上述代码,创建一个a链接与SpreadJS的dom容器 以及id为wrap的父级dom
点击a链接,调用FullScreen()方法
  1. function FullScreen() {
  2.         if (document.fullscreenElement) {
  3.             exitFullscreen();
  4.         } else {
  5.             requestFullscreen(document.getElementById("wrap"))
  6.         }

  7.         setTimeout(() => {
  8.             const canvas = document.getElementById('ss');
  9.             if (document.fullscreenElement) {
  10.                 canvas.style.height = window.screen.height + 'px';
  11.                 canvas.style.width = window.screen.width + 'px';
  12.             } else {
  13.                 canvas.style.height = '800px';
  14.                 canvas.style.width = '80%';
  15.             }
  16.         }, 100)
  17.     }
复制代码
上述代码逻辑是判断当前document是否处于全屏状态,如果是,则退出全屏,如果不是,则调用全屏
  1. function requestFullscreen(element) {
  2.         const fullScreen = element.requestFullscreen || element.mozRequestFullScreen || element.msRequestFullscreen || element.webkitRequestFullscreen;

  3.         if (fullScreen) {
  4.             fullScreen.call(element);
  5.         }
  6.     }

  7.     function exitFullscreen() {
  8.         const exit = document.exitFullscreen || document.msExitFullscreen || document.mozCancelFullScreen || document.webkitExitFullscreen;

  9.         if (exit) {
  10.             exit.call(document);
  11.         }
  12.     };
复制代码
最终效果如下

全屏.gif

全屏缩放.html

1.98 KB, 下载次数: 144

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部