使用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中eval函数的使用方法与示例
Apr 09 Javascript
jQuery的实现原理的模拟代码 -2 数据部分
Aug 01 Javascript
原生js实现移动开发轮播图、相册滑动特效
Apr 17 Javascript
Bootstrap创建可折叠的组件
Feb 23 Javascript
详解AngularJs中$resource和restfu服务端数据交互
Sep 21 Javascript
学习Node.js模块机制
Oct 17 Javascript
canvas学习之API整理笔记(一)
Dec 29 Javascript
详解Vue中过度动画效果应用
May 25 Javascript
Javascript数组方法reduce的妙用之处分享
Jun 10 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
Oct 26 Javascript
vue项目创建步骤及路由router
Jan 14 Javascript
浅谈react路由传参的几种方式
Mar 23 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中mysql模块部分功能的简单封装
2011/09/30 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
PHP实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
PHP字符串word末字符实现大小写互换的方法
2014/11/10 PHP
php简单实现数组分页的方法
2016/04/30 PHP
PHP实现websocket通信的方法示例
2018/08/28 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
2019/03/22 PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
2019/06/03 PHP
js 获取中文拼音,Select自动匹配字母获取值的代码
2009/09/23 Javascript
jQuery对象[0]是什么含义?
2010/07/31 Javascript
js日期时间补零的小例子
2013/03/05 Javascript
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
node.js文件上传处理示例
2016/10/27 Javascript
Nodejs 发送Post请求功能(发短信验证码例子)
2017/02/09 NodeJs
在vue项目中引入vue-beauty操作方法
2019/02/11 Javascript
浅谈Vue的响应式原理
2019/05/30 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
2019/11/04 Javascript
vue项目中自定义video视频控制条的实现代码
2020/04/26 Javascript
go语言计算两个时间的时间差方法
2015/03/13 Python
Python+Opencv识别两张相似图片
2020/03/23 Python
python爬虫获取多页天涯帖子
2018/02/23 Python
10招!看骨灰级Pythoner玩转Python的方法
2019/04/15 Python
50行Python代码获取高考志愿信息的实现方法
2019/07/23 Python
pycharm 中mark directory as exclude的用法详解
2020/02/14 Python
Python xlwt模块使用代码实例
2020/06/10 Python
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
韩国现代百货官网:Hmall
2018/03/21 全球购物
英国奢侈皮具品牌:Aspinal of London
2018/09/02 全球购物
美国修容界大佬创建的个人美妆品牌:Kevyn Aucoin Beauty
2018/12/12 全球购物
销售部主管岗位职责
2013/12/18 职场文书
小学二年级学生评语
2014/04/21 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
父亲节活动总结
2015/02/12 职场文书
幼儿园中秋节活动总结
2015/03/23 职场文书
2016年学校禁毒宣传活动工作总结
2016/04/05 职场文书
Vue2项目中对百度地图的封装使用详解
2022/06/16 Vue.js