使用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加载页面的方法(页面加载完成就执行)
Jun 21 Javascript
JQuery 自定义CircleAnimation,Animate方法学习笔记
Jul 10 Javascript
页面调用单个swf文件,嵌套出多个方法。
Nov 21 Javascript
javascript 事件处理示例分享
Dec 31 Javascript
javascript面向对象之定义成员方法实例分析
Jan 13 Javascript
node.js实现爬虫教程
Aug 25 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
Sep 06 Javascript
详解JavaScript RegExp对象
Feb 04 Javascript
详解VUE 定义全局变量的几种实现方式
Jun 01 Javascript
JavaScript箭头(arrow)函数详解
Jun 04 Javascript
JavaScript基于面向对象实现的猜拳游戏
Jan 03 Javascript
vue项目如何打包之项目打包优化(让打包的js文件变小)
Apr 30 Vue.js
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 goto语句简介和使用实例
2014/03/11 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
PHP微信PC二维码登陆的实现思路
2017/07/13 PHP
php中访问修饰符的知识点总结
2019/01/27 PHP
UserData用法总结 lanyu出品
2010/07/01 Javascript
js location.replace与location.reload的区别
2010/09/08 Javascript
JQuery动态创建DOM、表单元素的实现代码
2011/08/09 Javascript
js URL参数的拼接方法比较
2012/02/15 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
jquery 按键盘上的enter事件
2014/05/11 Javascript
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
JS弹出窗口插件zDialog简单用法示例
2016/06/12 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
2016/11/09 Javascript
Vue 创建组件的两种方法小结(必看)
2018/02/23 Javascript
脚手架vue-cli工程webpack的作用和特点
2018/09/29 Javascript
JS闭包原理与应用经典示例
2018/12/20 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
2020/03/26 Javascript
python连接mysql调用存储过程示例
2014/03/05 Python
tensorflow 输出权重到csv或txt的实例
2018/06/14 Python
解决python 无法加载downsample模型的问题
2018/10/25 Python
Python实现的IP端口扫描工具类示例
2019/02/15 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
python中time库的实例使用方法
2019/10/31 Python
python实现一个点绕另一个点旋转后的坐标
2019/12/04 Python
基于Python实现扑克牌面试题
2019/12/11 Python
Python3标准库之dbm UNIX键-值数据库问题
2020/03/24 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
ReVive利维肤美国官网:RéVive Skincare
2018/04/18 全球购物
餐饮商业计划书范文
2014/04/29 职场文书
会议接待欢迎标语
2014/10/08 职场文书
2014幼儿园家长工作总结
2014/11/10 职场文书
销售员岗位职责范本
2015/04/11 职场文书
2015年秋季开学典礼校长致辞
2015/07/16 职场文书
如何拟写通知正文?
2019/04/02 职场文书
PHP控制循环操作的时间
2021/04/01 PHP
详解redis在微服务领域的贡献
2021/10/16 Redis