使用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 相关文章推荐
Javascript模板技术
Apr 27 Javascript
JavaScript判断数组是否包含指定元素的方法
Jul 01 Javascript
jQuery实现的简洁下拉菜单导航效果代码
Aug 26 Javascript
Vue组件BootPage实现简单的分页功能
Sep 12 Javascript
AngularJS使用自定义指令替代ng-repeat的方法
Sep 17 Javascript
javascript中的try catch异常捕获机制用法分析
Dec 14 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
Aug 22 Javascript
layui 解决form表单点击无反应的问题
Oct 25 Javascript
vue之延时刷新实例
Nov 14 Javascript
js实现文字头像的生成代码
Mar 07 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
Apr 07 Javascript
openlayers实现地图弹窗
Sep 25 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数据类型转换
2014/01/09 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
2014/01/26 PHP
PHP goto语句简介和使用实例
2014/03/11 PHP
部署PHP时的4个配置修改说明
2015/10/19 PHP
在ASP.NET中使用JavaScript脚本的方法
2013/11/12 Javascript
jQuery animate easing使用方法图文详解
2016/06/17 Javascript
NodeJs——入门必看攻略
2016/06/27 NodeJs
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
2020/04/18 Javascript
简单谈谈require模块化jquery和angular的问题
2017/06/23 jQuery
纯js实现隔行变色效果
2017/11/29 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
vue弹窗组件的实现示例代码
2018/09/10 Javascript
JavaScript HTML DOM元素 节点操作汇总
2019/07/29 Javascript
Vue.js计算机属性computed和methods方法详解
2019/10/12 Javascript
p5.js实现动态图形临摹
2019/10/23 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
2020/03/10 Javascript
webpack+vue.js构建前端工程化的详细教程
2020/05/10 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
2020/12/04 Javascript
[02:32]DOTA2亚洲邀请赛 VG战队巡礼
2015/02/03 DOTA
[48:20]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Django的信号机制详解
2017/05/05 Python
Python 互换字典的键值对实例
2019/02/12 Python
基于sklearn实现Bagging算法(python)
2019/07/11 Python
Python 堆叠柱状图绘制方法
2019/07/29 Python
Flask框架 CSRF 保护实现方法详解
2019/10/30 Python
Python实现word2Vec model过程解析
2019/12/16 Python
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
2020/03/19 Python
韩国邮政旗下生鲜食品网上超市:epost
2016/08/27 全球购物
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
食品安全检查制度
2014/02/03 职场文书
工作会议方案
2014/05/21 职场文书
2014年实习班主任工作总结
2014/11/08 职场文书
一般纳税人申请报告
2015/05/18 职场文书
2019运动会广播加油稿汇总
2019/08/21 职场文书
导游词之江西赣州
2019/10/15 职场文书
Python必备技巧之字符数据操作详解
2022/03/23 Python