使用javascript为网页增加夜间模式


Posted in Javascript onJanuary 26, 2014

HTML+CSS:

<div class="cover"></div>
<style>
.cover{
    position:fixed;
    top: 0px;
    left: 0px;
    outline:5000px solid rgba(0, 0, 0, 0.3);
    z-index: 99999;
}
</style>

接着用JavaScript写个夜间模式plus:

<script>
var brightness;
//显示遮罩
function cover(brightness) {
    if (typeof(div) == 'undefined') {
        div = document.createElement('div');
        div.setAttribute('style', 'position:fixed;top:0;left:0;outline:5000px solid;z-index:99999;');
        document.body.appendChild(div);
    } else {
        div.style.display = '';
    }
    div.style.outlineColor = 'rgba(0,0,0,' + brightness + ')';
}
//事件监听
window.addEventListener('keydown', function(e) {
    if (e.altKey && e.keyCode == 90) { //Alt+Z:打开夜间模式
        cover(brightness = 0.3);
    }
    if (e.altKey && e.keyCode == 88) { //Alt+X:关闭
        cover(brightness = 0);
    }
    if (e.altKey && e.keyCode == 38) { //Alt+↑:增加亮度
        if (brightness - 0.05 > 0.05) cover(brightness -= 0.05);
    }
    if (e.altKey && e.keyCode == 40) { //Alt+↓:降低亮度
        if (brightness + 0.05 < 0.95) cover(brightness += 0.05);
    }
}, false);
</script>

还可以写成GreaseMonkey脚本,作为浏览器扩展给任意页面增加夜间模式

Javascript 相关文章推荐
JS Replace()的高级使用方法介绍
Jun 29 Javascript
IE与FireFox的JavaScript兼容问题解决办法
Dec 31 Javascript
使用iframe window的scroll方法控制iframe页面滚动
Mar 05 Javascript
用jquery实现的一个超级简单的下拉菜单
May 18 Javascript
JS打开新窗口防止被浏览器阻止的方法
Jan 03 Javascript
javascript禁止超链接跳转的方法
Feb 02 Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
Apr 06 Javascript
Bootstrap Scrollspy源码学习
Mar 02 Javascript
JavaScript体验异步更好的解决办法
Jan 08 Javascript
简化版的vue-router实现思路详解
Oct 19 Javascript
Vue组件之高德地图地址选择功能的实例代码
Jun 21 Javascript
vue 解决provide和inject响应的问题
Nov 12 Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
Jan 26 #Javascript
javascript:FF/Chrome与IE动态加载元素的区别说明
Jan 26 #Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
Jan 26 #Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
Jan 25 #Javascript
手机平板等移动端适配跳转URL的js代码
Jan 25 #Javascript
Extjs中RowExpander控件的默认展开问题示例探讨
Jan 24 #Javascript
jquery批量设置属性readonly和disabled的方法
Jan 24 #Javascript
You might like
PHP加速 eAccelerator配置和使用指南
2009/06/05 PHP
浅析PHP的ASCII码转换类
2013/07/05 PHP
List the Codec Files on a Computer
2007/06/11 Javascript
用JavaScript 处理 URL 的两个函数代码
2007/08/13 Javascript
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
用表格输出1-1000之间的数字实现代码(附特效)
2013/04/21 Javascript
Ajax同步与异步传输的示例代码
2013/11/21 Javascript
用jquery写的一个万年历(自写)
2014/01/20 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
js+html获取系统当前时间
2017/11/10 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
2017/12/13 Javascript
node.js通过axios实现网络请求的方法
2018/03/05 Javascript
json字符串对象转换代码实例
2019/09/28 Javascript
Vue 中 a标签上href无法跳转的解决方式
2019/11/12 Javascript
vue如何实现动态加载脚本
2020/02/05 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS TNC
2018/03/30 DOTA
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
python每次处理固定个数的字符的方法总结
2013/01/29 Python
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
Python函数中的函数(闭包)用法实例
2016/03/15 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
2019/09/04 Python
关于numpy中eye和identity的区别详解
2019/11/29 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
Python tkinter界面实现历史天气查询的示例代码
2020/08/23 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
Groupon西班牙官方网站:在线优惠券和交易,节省高达70%
2021/03/13 全球购物
Ado与Ado.net的相同与不同
2014/12/08 面试题
组织关系转移介绍信
2014/01/16 职场文书
英语简历自我评价
2014/01/26 职场文书
大学军训感言200字
2014/02/26 职场文书
农林环境专业求职信
2014/03/13 职场文书
大学生社会实践方案
2014/05/11 职场文书
幸福家庭标语
2014/06/27 职场文书
驻村工作简报
2015/07/20 职场文书
ubuntu安装jupyter并设置远程访问的实现
2022/03/31 Python