javascript夜间模式
代码:
function sunMoon() { var styleElem = null, doc = document, ie = doc.all, fontColor = 50, sel = 'body,body *'; var styleElem = createCSS(sel, setStyle(fontColor), styleElem); showTip(doc); if (ie) { doc.attachEvent('onkeydown', onKeyDown); } else { doc.addEventListener('keydown', onKeyDown); }; function onKeyDown(evt) { if (! (evt.keyCode === 87 || evt.keyCode === 81)) return; var evt = ie ? window.event: evt; if (evt.keyCode === 87) { fontColor = (fontColor >= 100) ? 100 : fontColor + 10 } else if (evt.keyCode === 81) { fontColor = (fontColor <= 10) ? 10 : fontColor - 10 }; styleElem = createCSS(sel, setStyle(fontColor), styleElem); }; function setStyle(fontColor) { var colorArr = [fontColor, fontColor, fontColor]; return 'background-color:#000 !important;color:RGB(' + colorArr.join('%,') + '%) !important;' }; function createCSS(sel, decl, styleElem) { var doc = document, h = doc.getElementsByTagName('head')[0], styleElem = styleElem; if (!styleElem) { s = doc.createElement('style'); s.setAttribute('type', 'text/css'); styleElem = ie ? doc.styleSheets[doc.styleSheets.length - 1] : h.appendChild(s); }; if (ie) { styleElem.addRule(sel, decl); } else { styleElem.innerHTML = ''; styleElem.appendChild(doc.createTextNode(sel + ' {' + decl + '}')); }; return styleElem; }; function showTip() { var tipElem = doc.createElement('div'), body = doc.getElementsByTagName('body')[0]; tipElem.innerHTML = '===夜间模式开启,q&w可增减字体亮度==='; tipElem.style.cssText = 'background-color:#3FA9FB !important;color:#fff !important;font-size:14px;height:20px;line-height:20px;position:fixed;left:0;top:0;text-align:center;width:100%;z-index:99999;'; body.appendChild(tipElem); setTimeout(function() { body.removeChild(tipElem); }, 3000); } }
?函数会在页面增加如下内容:
<style type="text/css"> body,body * {background-color:#000 !important;color:RGB(50%,50%,50%) !important;} </style>
?功能:
支持chrome,firefox,ie
q键:减少字体亮度
w键:增加字体亮度
要恢复刷新页面即可
?
?使用1:
<a href="javascript:(sunMoon)();">夜间模式</a>
?使用2:
在浏览器标签栏上添加标签,内容为:'javascript:(sunMoon)();',将括号中内容替换为上面的函数即可。
?