使用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 相关文章推荐
改变文件域的样式实现思路同时兼容ie、firefox
Oct 23 Javascript
javascript修改表格背景色实例代码分享
Dec 10 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
Sep 26 Javascript
javascript实现网站加入收藏功能
Dec 16 Javascript
jQuery ajax方法传递中文时出现中文乱码的解决方法
Jul 25 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
Aug 31 Javascript
详解Vue2.0里过滤器容易踩到的坑
Jun 01 Javascript
JavaScript基础之this详解
Jun 04 Javascript
利用node.js实现自动生成前端项目组件的方法详解
Jul 12 Javascript
ligerUI---ListBox(列表框可移动的实例)
Nov 28 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
Oct 28 Javascript
js基于div丝滑实现贝塞尔曲线
Sep 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代码
2010/08/08 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
Laravel框架用户登陆身份验证实现方法详解
2017/09/14 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
2017/09/30 PHP
JavaScript的面向对象(二)
2006/11/09 Javascript
扩展jQuery 键盘事件的几个基本方法
2009/10/30 Javascript
网页中CDATA标记的说明
2010/09/12 Javascript
jQuery表格排序组件-tablesorter使用示例
2014/05/26 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
js实现跨域访问的三种方法
2015/12/09 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
2017/03/04 Javascript
解决vue 单文件组件中样式加载问题
2019/04/24 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
2020/02/12 Javascript
在vue中使用Base64转码的案例
2020/08/07 Javascript
vue使用echarts图表自适应的几种解决方案
2020/12/04 Vue.js
[45:50]完美世界DOTA2联赛PWL S3 CPG vs Forest 第二场 12.16
2020/12/17 DOTA
[06:07]DOTA2-DPC中国联赛3月5日Recap集锦
2021/03/11 DOTA
Python字符串转换成浮点数函数分享
2015/07/24 Python
浅析Python中的多条件排序实现
2016/06/07 Python
numpy使用fromstring创建矩阵的实例
2018/06/15 Python
python里dict变成list实例方法
2019/06/26 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
Html5移动端获奖无缝滚动动画实现示例
2018/06/25 HTML / CSS
华美博弈C/VC工程师笔试试题
2012/07/16 面试题
最新大学生自我评价
2013/09/24 职场文书
上课迟到检讨书100字
2014/01/11 职场文书
老师的检讨书
2014/02/23 职场文书
专题组织生活会方案
2014/06/15 职场文书
高中生第一学年自我鉴定2015
2014/09/28 职场文书
萤火虫之墓观后感
2015/06/05 职场文书
同学聚会致辞集锦
2015/07/28 职场文书
2019大学生预备党员转正思想汇报
2019/06/21 职场文书
干货:企业内部人才推荐奖励方案!
2019/07/09 职场文书
写给医护人员的一封感谢信
2019/09/16 职场文书