javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)


Posted in Javascript onAugust 15, 2014

功能描述:打开一个网站的网页,过5分钟不动作,就会锁定页面,隐藏内容容器,显示一个容器用于输入密码,输入正确的密码来解锁。锁定后即使用户刷新页面,还是保留原来的状态。如已经锁定的,需要继续锁定,否则显示内容。
 
示例代码如下,通过document.onmouseover来实现多少分钟没有动作,使用计时器来实现。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>javascript实现系统屏幕保护效果(锁定网页)</title>
</head>

<body>
<div id="dvContent">内容<br />内容<br />内容<br />内容<br />内容<br />内容</div>
<div id="dvPassword" style="display:none">输入密码:<input type="password" id="txtPwd" /><input type="button" value="确定" onclick="check()"/></div>
<script>
  if (document.cookie.indexOf('lock=1') != -1) ShowContent(false);
  var delay = 10 * 1000,timer;//10s后锁定,修改delay为你需要的时间,单位毫秒
  function startTimer() {
    clearTimeout(timer);
    timer = setTimeout(TimerHandler, delay);
  }
  function TimerHandler() {
    document.cookie = 'lock=1';
    document.onmousemove = null;//锁定后移除鼠标移动事件
    ShowContent(false);
  }
  function ShowContent(show) {
    document.getElementById('dvContent').style.display = show ? 'block' : 'none';
    document.getElementById('dvPassword').style.display = show ? 'none' : 'block';
  }
  function check() {
    if (document.getElementById('txtPwd').value == '123') {
      document.cookie = 'lock=0';
      ShowContent(true);
      startTimer()//重新计时
      document.onmousemove = startTimer; //重新绑定鼠标移动事件
    }
    else alert('密码不正确!!');
  }
  window.onload = function () {
    document.onmousemove = startTimer;
    startTimer();
  }
</script>
</body>
</html>
Javascript 相关文章推荐
jQuery中判断一个元素是否为另一个元素的子元素(或者其本身)
Mar 21 Javascript
jquery.validate 自定义验证方法及validate相关参数
Jan 18 Javascript
javascript深拷贝(deepClone)详解
Aug 24 Javascript
JavaScript与ActionScript3两者的同性与差异性
Sep 22 Javascript
JQuery PHP图片在线裁剪实例
Jul 27 Javascript
深入浅出webpack之externals的使用
Dec 04 Javascript
Vue.js通用应用框架-Nuxt.js的上手教程
Dec 25 Javascript
JS实现520 表白简单代码
May 21 Javascript
jQuery滑动效果实现方法分析
Sep 05 jQuery
服务端预渲染之Nuxt(使用篇)
Apr 08 Javascript
ligerUI的ligerDialog关闭刷新的方法
Sep 27 Javascript
使用compose函数优化代码提高可读性及扩展性
Jun 16 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
Aug 15 #Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
Aug 15 #Javascript
javascript中的__defineGetter__和__defineSetter__介绍
Aug 15 #Javascript
js 判断图片是否加载完以及实现图片的预下载
Aug 14 #Javascript
js创建表单元素并使用submit进行提交
Aug 14 #Javascript
使用typeof判断function是否存在于上下文
Aug 14 #Javascript
java、javascript实现附件下载示例
Aug 14 #Javascript
You might like
php 带逗号千位符数字的处理方法
2012/01/10 PHP
php如何计算两坐标点之间的距离
2018/12/29 PHP
几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()
2009/06/02 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
js 左右悬浮对联广告特效代码
2014/12/12 Javascript
使用angularjs创建简单表格
2016/01/21 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
2017/01/06 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
Javascript快速实现浏览器系统通知
2017/08/26 Javascript
vue自定义指令directive实例详解
2018/01/17 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
微信小程序自定义toast弹窗效果的实现代码
2018/11/15 Javascript
学习node.js 断言的使用详解
2019/03/18 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
原生JS实现留言板功能
2020/02/08 Javascript
Vue中ref和$refs的介绍以及使用方法示例
2021/01/11 Vue.js
python局部赋值的规则
2013/03/07 Python
Python实现的一个找零钱的小程序代码分享
2014/08/25 Python
Python的socket模块源码中的一些实现要点分析
2016/06/06 Python
python脚本实现数据导出excel格式的简单方法(推荐)
2016/12/30 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
2018/08/03 Python
Python tkinter实现图片标注功能(完整代码)
2019/12/08 Python
Windows 下python3.8环境安装教程图文详解
2020/03/11 Python
python+django+selenium搭建简易自动化测试
2020/08/19 Python
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
小女主人连衣裙:Little Mistress
2017/07/10 全球购物
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
高中自我鉴定范文
2013/11/03 职场文书
入党思想汇报
2014/01/05 职场文书
服装发布会策划方案
2014/05/22 职场文书
网吧消防安全责任书
2014/07/29 职场文书
先进基层党组织材料
2014/12/25 职场文书
(开源)微信小程序+mqtt,esp8266温湿度读取
2021/04/02 Javascript
口袋妖怪冰系十大最强精灵,几何雪花排第七,第六类似北极熊
2022/03/18 日漫