问题描述
- js点击某一个链接交替执行两个函数(js实现网页全屏问题)
- 想实现的需求:
1、网页上有个“全屏显示”按钮(链接),点击全屏后执行函数fullScreen(),然后“显示全屏”二字变成“退出全屏”;
2、点击“退出全屏”执行函数exitFullScreen(),然后“退出全屏”变为“全屏显示”function fullScreen() {
var el = document.documentElement;
var rfs = el.requestFullScreen || el.webkitRequestFullScreen ||
el.mozRequestFullScreen || el.msRequestFullScreen;
if(typeof rfs != ""undefined"" && rfs) {
rfs.call(el);
} else if(typeof window.ActiveXObject != ""undefined"") {
//for IE,这里其实就是模拟了按下键盘的F11,使浏览器全屏
var wscript = new ActiveXObject(""WScript.Shell"");
if(wscript != null) {
wscript.SendKeys(""{F11}"");
}
}
}
function exitFullScreen() {
var el = document;
var cfs = el.cancelFullScreen || el.webkitCancelFullScreen ||
el.mozCancelFullScreen || el.exitFullScreen;
if(typeof cfs != ""undefined"" && cfs) {
cfs.call(el);
} else if(typeof window.ActiveXObject != ""undefined"") {
//for IE,这里和fullScreen相同,模拟按下F11键退出全屏
var wscript = new ActiveXObject(""WScript.Shell"");
if(wscript != null) {
wscript.SendKeys(""{F11}"");
}
}
}
解决方案
<a href=""#"" onclick=""return ExecuteFun(this)"">全屏显示</a><script> function ExecuteFun(a) { var full = a.innerHTML == '全屏显示'; full ? fullScreen() : exitFullScreen(); a.innerHTML = full ? '退出全屏' : '全屏显示'; return false; } function fullScreen() { var el = document.documentElement; var rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen; if (typeof rfs != ""undefined"" && rfs) { rfs.call(el); } else if (typeof window.ActiveXObject != ""undefined"") { //for IE,这里其实就是模拟了按下键盘的F11,使浏览器全屏 var wscript = new ActiveXObject(""WScript.Shell""); if (wscript != null) { wscript.SendKeys(""{F11}""); } } } function exitFullScreen() { var el = document; var cfs = el.cancelFullScreen || el.webkitCancelFullScreen || el.mozCancelFullScreen || el.exitFullScreen; if (typeof cfs != ""undefined"" && cfs) { cfs.call(el); } else if (typeof window.ActiveXObject != ""undefined"") { //for IE,这里和fullScreen相同,模拟按下F11键退出全屏 var wscript = new ActiveXObject(""WScript.Shell""); if (wscript != null) { wscript.SendKeys(""{F11}""); } } }</script>
解决方案二:
$(selector).toggle(fullScreen()exitFullScreen())