根据时间显示网页

时间:2015-11-25 21:38:55

标签: javascript jquery html

我有一个html表单,我希望在凌晨12:00到下午4:20之间开放,4:20之后我想关闭表单并显示“此表格现已关闭”。这需要每天进行。我可以使用什么来设置时间并根据时间重定向用户?这是一个j查询的东西吗?

2 个答案:

答案 0 :(得分:1)

Working Fiddle

这将在正确的时间关闭表单,而无需您重新加载页面。

HTML

<form id="my-form" style="display:none">
    <label>Name: <input type="text" ></label>
</form>
<div id="form-closed" style="display:none">The form is now closed</div>

使用Javascript / jQuery的

checkFormAvailability();

setInterval(function(){
    checkFormAvailability();
}, 1000);

function checkFormAvailability() {
    var minHours = 0;
    var minMinutes = 0;
    var maxHours = 16;
    var maxMinutes = 20;

    var minHourMinutes = (minHours * 100) + minMinutes;
    var maxHourMinutes = (maxHours * 100) + maxMinutes;
    var d = new Date();
    var n = d.getHours() * 100;
    var m = d.getMinutes();
    var currentHourMinutes = n + m;
    if (currentHourMinutes >= minHourMinutes && currentHourMinutes <= maxHourMinutes) {
        $('#my-form').show();
        $('#form-closed').hide();
    }
    else {
       $('#my-form').hide();
       $('#form-closed').show();
    }
}

要测试一下,您可以将maxHoursmaxMinutes更改为当前时间,它会在下一分钟开始关闭表单。

答案 1 :(得分:0)

每当他们访问/更新页面时,您都可以运行JavaScript函数,并根据小时和分钟执行不同的操作。

例如:

<head>
<script>
  function changeForm() {
    var d = new Date();
    if(d.getHours() == 16) {
      if(d.getMinutes() > 19 {
        document.getElementById('myForm').style.display = "none";
        document.getElementById('myMessage').innerHTML = "The form is now closed.";
       }
    }
    if(d.getHours() > 16) {
      document.getElementById('myForm').style.display = "none";
      document.getElementById('myMessage').innerHTML = "The form is now closed.";
    }               
 }

</script>
</head>

<body onload = changeForm()>
 ...
</body>