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 Dialog 弹出层对话框插件
Aug 09 Javascript
输入密码检测大写是否锁定js实现代码
Dec 03 Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
Apr 15 Javascript
浅谈JavaScript实现面向对象中的类
Dec 09 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
Aug 04 Javascript
jQuery操作json常用方法示例
Jan 04 Javascript
HTML5实现微信拍摄上传照片功能
Apr 21 Javascript
layui中layer前端组件实现图片显示功能的方法分析
Oct 13 Javascript
Vue.js中 v-model 指令的修饰符详解
Dec 03 Javascript
详解微信小程序开发之formId使用(模板消息)
Aug 27 Javascript
vue-cli3 取消eslint校验代码的解决办法
Jan 16 Javascript
vue+django实现下载文件的示例
Mar 24 Vue.js
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
建立动态的WML站点(三)
2006/10/09 PHP
php Calender(日历)代码分享
2014/01/03 PHP
PHP多进程之pcntl_fork的实例详解
2017/10/15 PHP
PHP连续签到功能实现方法详解
2019/12/04 PHP
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
JavaScript代码复用模式详解
2014/11/07 Javascript
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
JavaScript之RegExp_动力节点Java学院整理
2017/06/29 Javascript
写一个移动端惯性滑动&amp;回弹Vue导航栏组件 ly-tab
2018/03/06 Javascript
layerUI下的绑定事件实例代码
2018/08/17 Javascript
vue+element-ui动态生成多级表头的方法
2018/08/28 Javascript
vue实现点击隐藏与显示实例分享
2019/02/13 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
微信小程序利用Canvas绘制图片和竖排文字详解
2019/06/25 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
JS Generator 函数的含义与用法实例总结
2020/04/08 Javascript
python操作MySQL数据库的方法分享
2012/05/29 Python
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
使用PyCharm配合部署Python的Django框架的配置纪实
2015/11/19 Python
Python3.6正式版新特性预览
2016/12/15 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
PyTorch线性回归和逻辑回归实战示例
2018/05/22 Python
钉钉群自定义机器人消息Python封装的实例
2019/02/20 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
使用TensorBoard进行超参数优化的实现
2020/07/06 Python
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
2016/02/10 面试题
运动会100米解说词
2014/01/23 职场文书
财务部副经理岗位职责
2014/03/14 职场文书
优秀班主任推荐材料
2014/12/17 职场文书
国家助学金感谢信
2015/01/21 职场文书
财务总监岗位职责
2015/02/03 职场文书
Python requests库参数提交的注意事项总结
2021/03/29 Python
基于Redis延迟队列的实现代码
2021/05/13 Redis
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫
MySQL数据库之存储过程 procedure
2022/06/16 MySQL