@zhsz/cool-design-dv
Version:
67 lines (66 loc) • 1.75 kB
JavaScript
function fullScreen(el) {
el = el || document.documentElement;
const rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullscreen;
if (typeof rfs !== "undefined" && rfs) {
rfs.call(el);
}
}
function exitFullScreen() {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
}
function isFullScreen() {
return document.isFullScreen || document.mozIsFullScreen || document.webkitIsFullScreen;
}
function addClass(el, cls) {
if (!el)
return;
let curClass = el.className;
const classes = (cls || "").split(" ");
for (let i = 0, j = classes.length; i < j; i++) {
const clsName = classes[i];
if (!clsName)
continue;
if (el.classList) {
el.classList.add(clsName);
} else if (!hasClass(el, clsName)) {
curClass += " " + clsName;
}
}
if (!el.classList) {
el.setAttribute("class", curClass);
}
}
function removeClass(el, cls) {
if (!el || !cls)
return;
const classes = cls.split(" ");
let curClass = " " + el.className + " ";
for (let i = 0, j = classes.length; i < j; i++) {
const clsName = classes[i];
if (!clsName)
continue;
if (el.classList) {
el.classList.remove(clsName);
} else if (hasClass(el, clsName)) {
curClass = curClass.replace(" " + clsName + " ", " ");
}
}
if (!el.classList) {
el.setAttribute("class", trim(curClass));
}
}
export {
addClass,
exitFullScreen,
fullScreen,
isFullScreen,
removeClass
};