>웹 프론트엔드 >JS 튜토리얼 >JavaScript는 웹 페이지 잠금 및 비밀번호 잠금 해제 효과를 구현합니다(시스템 화면 보호기 효과와 유사)_javascript 기술

JavaScript는 웹 페이지 잠금 및 비밀번호 잠금 해제 효과를 구현합니다(시스템 화면 보호기 효과와 유사)_javascript 기술

WBOY
WBOY원래의
2016-05-16 16:39:371469검색

기능 설명: 웹사이트의 웹페이지를 열고 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 &#63; 'block' : 'none';
    document.getElementById('dvPassword').style.display = show &#63; '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>

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.