我爱编程

Angular 4.0 and JS全屏 最大化展示

2018-03-18  本文已影响367人  爱尔兰的男孩

前言 :全屏展示 不是我们经常说的 高度 100%,宽度100%;然后在加一个固定定位,

其实这是错误的,并不是真正的全屏,大家都看多视频吧!很多视频播放器都有全屏效果,你可以去试试 这种效果是不是和你的不一样,下面言归正传!,

我主要介绍  angular 的全屏和 JS中的全屏实现,我们一起看代码吧!

Angular 4.0 实现全屏 

1.0 在typescript 的控制器中引入依赖 我的依赖如图

import {Component, ElementRef, OnInit}from '@angular/core';

2.0 控制器 继承 ElementRef 这个类,用于获取DOM元素

因为在angular 的框架中获取DOM元素必需 依赖这个类 ,来自于angular的核心模块.

其他类 根据需要引入

constructor(private route :ActivatedRoute,

private router: Router,

private service:CarPlanService,

private http: Http,

private el: ElementRef,

private confirmationService: ConfirmationService,

private permissionCodeService: PermissionCodeService

) { }

3.0 给按钮添加方法   太简单了 没有截图

<button type="button" id="btnId" class="btn sbss" style="float:right;margin-left:15px;" (click)="showAllTemplate()">全屏展示< button>

4.0 在ts,内定义方法

showAllTemplate(){

//显示全屏

  this.showALL =true;

//获取要展示全屏的元素

  let fullscreenDiv =document.getElementById("showAll");

let fullscreenFunc =fullscreenDiv.requestFullscreen;

// 设定docuement 的参数

  if (!fullscreenFunc) {

['mozRequestFullScreen',

'msRequestFullscreen',

'webkitRequestFullScreen'].forEach(function (req) {

fullscreenFunc =fullscreenFunc ||fullscreenDiv[req];

});

}

//把全屏展示的内容 通过call 改变this指向

  fullscreenFunc.call(fullscreenDiv);

}

js 版本 实现全屏 

代码如下 :  解释 如上

HTML:如下直接粘贴


<div id="fullscreen">

<h1>:fullscreen Demo<h1>

<p>This text will become big and red when the browser is in fullscreen mode.</p>

<button id="fullscreen-button">Enter Fullscreen<button>

</div>

css ::如下直接粘贴


#fullscreen:-moz-full-screen {

padding: 42px;

background-color: pink;

border: 2px solid #f00;

font-size: 200%;

}

#fullscreen:-webkit-full-screen {

padding: 42px;

background-color: pink;

border: 2px solid #f00;

font-size: 200%;

}

  #fullscreen:-moz-full-screen > h1 {

color: red;

}

#fullscreen:-webkit-full-screen > h1 {

color: red;

}

  #fullscreen:-moz-full-screen > p {

color: darkred;

}

#fullscreen:-webkit-full-screen > p {

color: darkred;

}

  #fullscreen:-moz-full-screen > button {

display: none;

}

#fullscreen:-webkit-full-screen > button {

display: none;

} #fullscreen:fullscreen {

padding: 42px;

background-color: pink;

border:2px solid #f00;

font-size: 200%;

}

  #fullscreen:fullscreen > h1 {

color: red;

}

  #fullscreen:fullscreen > p {

color: darkred;

}

  #fullscreen:fullscreen > button {

display: none;

}

js :如下直接粘贴


var fullscreenButton = document.getElementById("fullscreen-button");

var fullscreenDiv = document.getElementById("fullscreen");

var fullscreenFunc = fullscreenDiv.requestFullscreen;

  if (!fullscreenFunc) {

['mozRequestFullScreen',

'msRequestFullscreen',

'webkitRequestFullScreen'].forEach(function (req) {

fullscreenFunc = fullscreenFunc || fullscreenDiv[req];

});

}

  function enterFullscreen() {

fullscreenFunc.call(fullscreenDiv);

}

  fullscreenButton.addEventListener('click', enterFullscreen);

来试试你的第一个全屏  demo 吧 !!!

上一篇下一篇

猜你喜欢

热点阅读