使用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 相关文章推荐
对jQuery的事件绑定的一些思考(补充)
Apr 20 Javascript
jquery实现按Enter键触发事件示例
Sep 10 Javascript
JSON格式化输出
Nov 10 Javascript
jQuery实现数字加减效果汇总
Dec 16 Javascript
动态加载JavaScript文件的两种方法
Apr 22 Javascript
jQuery 更改checkbox的状态,无效的解决方法
Jul 22 Javascript
jQuery实现注册会员时密码强度提示信息功能示例
Sep 05 jQuery
安装vue-cli的简易过程
May 22 Javascript
JS实现关键词高亮显示正则匹配
Jun 22 Javascript
vue项目开发中setTimeout等定时器的管理问题
Sep 13 Javascript
JavaScript+HTML5 canvas实现放大镜效果完整示例
May 15 Javascript
微信小程序 调用远程接口 给全局数组赋值代码实例
Aug 13 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水印技术
2007/02/14 PHP
PHP开发过程中常用函数收藏
2009/12/14 PHP
discuz程序的PHP加密函数原理分析
2011/08/05 PHP
PHP实现的简单缓存类
2015/07/29 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
PJ Blog修改-禁止复制的代码和方法
2006/10/25 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
Javascript倒计时页面跳转实例小结
2013/09/11 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
JQuery插件Marquee.js实现无缝滚动效果
2016/04/26 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
JavaScript利用fetch实现异步请求的方法实例
2017/07/26 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
基于react后端渲染模板引擎noox发布使用
2018/01/11 Javascript
浅谈vue项目如何打包扔向服务器
2018/05/08 Javascript
Angular搜索场景中使用rxjs的操作符处理思路
2018/05/30 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
2018/06/20 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
vue中轮训器的使用
2019/01/27 Javascript
vue项目创建并引入饿了么elementUI组件的步骤
2019/04/11 Javascript
VSCode下好用的Python插件及配置
2018/04/06 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
2018/05/29 Python
pandas把所有大于0的数设置为1的方法
2019/01/26 Python
Python时间和字符串转换操作实例分析
2019/03/16 Python
使用Python的networkx绘制精美网络图教程
2019/11/21 Python
致长跑运动员加油稿
2014/02/20 职场文书
家长会主持词
2014/03/26 职场文书
信息工作经验交流材料
2014/05/28 职场文书
校园文化标语
2014/06/18 职场文书
年度考核个人总结
2015/03/06 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书
早上好问候语大全
2015/11/10 职场文书
解决Pytorch半精度浮点型网络训练的问题
2021/05/24 Python
浅谈JavaScript浅拷贝和深拷贝
2021/11/07 Javascript
Go语言基础map用法及示例详解
2021/11/17 Golang
阿里云国际版 使用Nginx作为HTTPS转发代理服务器
2022/05/11 Servers