react点击按钮实现全屏功能
一、绘制全屏按钮
-
-
<div className='title' > <button onClick={this.fullScreen}>全屏</button></div>
二、编写点击事件
定义全屏标识变量
-
this.state = {
-
isFullScreen: false//初始为未开启全屏
-
}
编写fullScreen点击事件函数:
-
fullScreen = () => {
-
var picts = document.getElementById("picts");
-
if (!this.state.isFullScreen) {
-
this.requestFullScreen();
-
picts.setAttribute("src",require("./取消全屏.png"));//全屏按钮变换
-
picts.setAttribute("title","退出全屏");
-
} else {
-
this.exitFullscreen();
-
picts.setAttribute("src",require("./全屏.png"));//全屏按钮变换
-
picts.setAttribute("title","全屏");
-
}
-
};
三、编写相关函数
编写requestFullScreen函数
-
requestFullScreen = () => {
-
var de = document.documentElement;
-
if (de.requestFullscreen) {
-
de.requestFullscreen();
-
} else if (de.mozRequestFullScreen) {
-
de.mozRequestFullScreen();
-
} else if (de.webkitRequestFullScreen) {
-
de.webkitRequestFullScreen();
-
}
-
};
编写exitFullscreen函数
-
exitFullscreen = () => {
-
var de = document;
-
if (de.exitFullscreen) {
-
de.exitFullscreen();
-
} else if (de.mozCancelFullScreen) {
-
de.mozCancelFullScreen();
-
} else if (de.webkitCancelFullScreen) {
-
de.webkitCancelFullScreen();
-
}
-
};
编写监听fullscreen变化事件
-
watchFullScreen = () => {
-
const _self = this;
-
document.addEventListener(
-
"webkitfullscreenchange",
-
function() {
-
_self.setState({
-
isFullScreen: document.webkitIsFullScreen
-
});
-
},
-
false
-
);
-
document.addEventListener(
-
"fullscreenchange",
-
function() {
-
_self.setState({
-
isFullScreen: document.fullscreen
-
});
-
},
-
false
-
);
-
document.addEventListener(
-
"mozfullscreenchange",
-
function() {
-
_self.setState({
-
isFullScreen: document.mozFullScreen
-
});
-
},
-
false
-
);
-
};
在componentDidMount钩子上挂在监听
-
componentDidMount() {
-
this.watchFullScreen();
-
}
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgafjhh
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01