使用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 相关文章推荐
动态控制Table的js代码
Mar 07 Javascript
传递参数的标准方法(jQuery.ajax)
Nov 19 Javascript
同一个表单 根据要求递交到不同页面的实现方法小结
Aug 05 Javascript
jquery的ajax()函数传值中文乱码解决方法介绍
Nov 08 Javascript
jQuery手机浏览器中拖拽动作的艰难性分析
Feb 04 Javascript
JS获取地址栏参数的两种方法(简单实用)
Jun 14 Javascript
AngularJS基于factory创建自定义服务的方法详解
May 25 Javascript
微信小程序 websocket 实现SpringMVC+Spring+Mybatis
Aug 04 Javascript
web页面和微信小程序页面实现瀑布流效果
Sep 26 Javascript
超轻量级的js时间库miment使用解析
Aug 02 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
Oct 30 Javascript
JavaScript代码实现简单计算器
Dec 27 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 !function_exists(&quot;T7FC56270E7A70FA81A5935B72EACBE29&quot;))代码解密
2011/01/07 PHP
php使用get_class_methods()函数获取分类的方法
2016/07/20 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
JS 无法通过W3C验证的处理方法
2010/03/09 Javascript
JavaScript类和继承 prototype属性
2010/09/03 Javascript
关于jQuery UI 使用心得及技巧
2012/10/10 Javascript
js快速排序的实现代码
2013/12/08 Javascript
js+div实现图片滚动效果代码
2014/02/10 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
javascript父子页面通讯实例详解
2015/07/17 Javascript
JavaScript每天必学之事件
2016/09/18 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
Node.js+ES6+dropload.js实现移动端下拉加载实例
2017/06/01 Javascript
vue.js todolist实现代码
2017/10/29 Javascript
关于Vue的路由权限管理的示例代码
2018/03/06 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
2018/04/24 Javascript
国内常用的js类库大全(CDN公共库)
2020/06/24 Javascript
[01:34]2016国际邀请赛中国区预选赛IG战队教练采访
2016/06/27 DOTA
[02:05:03]完美世界DOTA2联赛循环赛 LBZS VS Matador BO2 10.28
2020/10/28 DOTA
python连接字符串的方法小结
2015/07/13 Python
python 数字类型和字符串类型的相互转换实例
2018/07/17 Python
Django框架实现分页显示内容的方法详解
2019/05/10 Python
django使用admin站点上传图片的实例
2019/07/28 Python
Python datetime包函数简单介绍
2019/08/28 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
Python 之 Json序列化嵌套类方式
2020/02/27 Python
Python的Tqdm模块实现进度条配置
2021/02/24 Python
京东奢侈品:全球奢侈品牌
2018/03/17 全球购物
StubHub希腊:购买体育赛事、音乐会和剧院门票
2019/08/03 全球购物
建筑工程技术应届生自荐信
2013/09/27 职场文书
思想汇报格式
2014/01/05 职场文书
机械工程师岗位职责
2014/06/16 职场文书
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android
解析Redis Cluster原理
2021/06/21 Redis
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js
JavaScript parseInt0.0000005打印5原理解析
2022/07/23 Javascript