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 相关文章推荐
JavaScript入门之事件、cookie、定时等
Oct 21 Javascript
基于Jquery实现的一个图片滚动切换
Jun 21 Javascript
巧用局部变量提升javascript性能
Feb 24 Javascript
javascript中的括号()用法小结
Apr 14 Javascript
jQuery中:visible选择器用法实例
Dec 30 Javascript
微信小程序联网请求的轮播图
Jul 07 Javascript
web前端vue之vuex单独一文件使用方式实例详解
Jan 11 Javascript
JS的函数调用栈stack size的计算方法
Jun 24 Javascript
基于vue-cli 路由 实现类似tab切换效果(vue 2.0)
May 08 Javascript
原生JS实现留言板
Mar 26 Javascript
前端开发基础javaScript的六大作用
Aug 06 Javascript
vue如何批量引入组件、注册和使用详解
May 12 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
关于Appserv无法打开localhost问题的解决方法
2009/10/16 PHP
thinkPHP简单遍历数组方法分析
2016/05/16 PHP
详解如何在云服务器上部署Laravel
2017/06/30 PHP
PHP实现的日历功能示例
2018/09/01 PHP
php实现数字补零的方法总结
2018/09/12 PHP
javascript字典探测用户名工具
2006/10/05 Javascript
FireFox与IE 下js兼容触发click事件的代码
2008/11/20 Javascript
JQuery Tips(3) 关于$()包装集内元素的改变
2009/12/14 Javascript
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
2014/03/12 Javascript
常用的几段javascript代码分享
2014/03/25 Javascript
javascript省市级联功能实现方法实例详解
2015/10/20 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
javascript实现checkbox复选框实例代码
2016/01/10 Javascript
JavaScript  event对象整理及详细介绍
2016/10/10 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
20行JS代码实现网页刮刮乐效果
2017/06/23 Javascript
python爬取安居客二手房网站数据(实例讲解)
2017/10/19 Javascript
vue开发简单上传图片功能
2020/06/30 Javascript
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
opencv改变imshow窗口大小,窗口位置的方法
2018/04/02 Python
浅析Python 读取图像文件的性能对比
2019/03/07 Python
python挖矿算力测试程序详解
2019/07/03 Python
Pandas中DataFrame的分组/分割/合并的实现
2019/07/16 Python
python库matplotlib绘制坐标图
2019/10/18 Python
Python hashlib加密模块常用方法解析
2019/12/18 Python
欧洲著名的珠宝和手表网上商城:uhrcenter
2017/04/10 全球购物
出纳岗位职责
2013/11/09 职场文书
一名女生的自荐信
2013/12/08 职场文书
高中校园广播稿
2014/01/11 职场文书
《路旁的橡树》教学反思
2014/04/07 职场文书
机械工程学院大学生求职信
2014/05/25 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
同事打架检讨书
2015/05/06 职场文书
党员转正介绍人意见
2015/06/03 职场文书