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 相关文章推荐
点击下载链接 弹出页面实现代码
Oct 01 Javascript
预加载css或javascript的js代码
Apr 23 Javascript
解决iframe的frameborder在chrome/ff/ie下的差异
Aug 12 Javascript
浅析jQuery的链式调用之each函数
Dec 03 Javascript
easyui 中的datagrid跨页勾选问题的实现方法
Jan 18 Javascript
Vue计算属性的学习笔记
Mar 22 Javascript
vue中简单弹框dialog的实现方法
Feb 26 Javascript
layui 设置table 行的高度方法
Aug 17 Javascript
在angularJs中进行数据遍历的2种方法
Oct 08 Javascript
利用jqgrid实现上移下移单元格功能
Nov 07 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
Mar 06 Javascript
react国际化化插件react-i18n-auto使用详解
Mar 31 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 array_intersect()函数使用代码
2009/01/14 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
php web环境和命令行环境下查找php.ini的位置
2019/07/17 PHP
VBScript版代码高亮
2006/06/26 Javascript
js 输出内容到新窗口具体实现代码
2013/05/31 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
判断JS对象是否拥有某种属性的两种方式
2013/12/02 Javascript
jquery取子节点及当前节点属性值的方法
2014/09/09 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
JS实现支持多选的遍历下拉列表代码
2015/08/20 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
2015/11/23 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
2016/07/07 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
2018/05/13 Javascript
如何使用vuex实现兄弟组件通信
2018/11/02 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
Javascript 类型转换、封闭函数及常见内置对象操作示例
2019/11/15 Javascript
JS forEach跳出循环2种实现方法
2020/06/24 Javascript
[46:40]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python爬虫框架Scrapy实例代码
2018/03/04 Python
Python实现手机号自动判断男女性别(实例解析)
2019/12/22 Python
Python短信轰炸的代码
2020/03/25 Python
在python中实现求输出1-3+5-7+9-......101的和
2020/04/02 Python
Python实现Canny及Hough算法代码实例解析
2020/08/06 Python
scrapy头部修改的方法详解
2020/12/06 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
2021/02/06 Python
利用python实现后端写网页(flask框架)
2021/02/28 Python
美国定制钻石订婚戒指:Ritani
2017/12/08 全球购物
Electrolux伊莱克斯巴西商店:家用电器、小家电和配件
2018/05/23 全球购物
公司营业员的自我评价
2014/03/04 职场文书
行政主管职责范本
2014/03/07 职场文书
党员先锋岗事迹材料
2014/05/08 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
千手观音观后感
2015/06/03 职场文书
2015年暑假生活总结
2015/07/13 职场文书
军训通讯稿范文
2015/07/18 职场文书
2016学习全国教书育人楷模先进事迹心得体会
2016/01/21 职场文书