Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何按时间打开和关闭注册表_Javascript_Show Hide - Fatal编程技术网

Javascript 如何按时间打开和关闭注册表

Javascript 如何按时间打开和关闭注册表,javascript,show-hide,Javascript,Show Hide,我有一个网站要注册。 如何使用JavaScript按时间关闭和打开注册表。 开放时间为上午08:00至下午16:00。 下午16:01至上午7:59休息。 如何使用JavaScript禁用所有元素,如输入、按钮或所有表单。 请帮帮我。 非常感谢。您可以包括以下代码: var disableOrEnableRegistry = function(disableAll){ //assuming need to disable all buttons and input var button

我有一个网站要注册。 如何使用JavaScript按时间关闭和打开注册表。 开放时间为上午08:00至下午16:00。 下午16:01至上午7:59休息。 如何使用JavaScript禁用所有元素,如输入、按钮或所有表单。 请帮帮我。
非常感谢。

您可以包括以下代码:

var disableOrEnableRegistry = function(disableAll){
  //assuming need to disable all buttons and input 
  var buttons =document.getElementsByTagName('button');
  var inputs =document.getElementsByTagName('input');
  for(button of buttons){
      button.disabled = disableAll;
  } 
  for(input of inputs){
    input.disabled = disableAll;
  }
}

var toggleEnablingRegistry=function(toggle, interval, chechTimeCallback){
  setTimeout(function() {  
      disableOrEnableRegistry(toggle);
      chechTimeCallback(chechTimeCallback);
  }, interval);
}

var checkTime = function(callback){
  var d = new Date(); 
  var hours = d.getHours();
  var minutes = d.getMinutes();
  var seconds = d.getSeconds();
  if(hours>16 || (hours === 16 && minutes > 0)){ //16:01-23:59
      disableOrEnableRegistry(true);
      var remainingHours=23-hours+7;
      var remainingMinutes=60-minutes;
      var remainingSeconds=60-seconds;
      var remainingTimeInMiliseconds=(remainingHours*3600+remainingMinutes*60+remainingSeconds)*1000;
      toggleEnablingRegistry(false, remainingTimeInMiliseconds, callback);
  }
  else if(hours<8){//00:00-7:59
      disableOrEnableRegistry(true);
      var remainingTimeInMiliseconds=(hours*3600+minutes*60+seconds)*1000;
      toggleEnablingRegistry(false, remainingTimeInMiliseconds, callback);
  }
  else{//8:00-16:00
      var remainingHours=23-hours+7;
      var remainingMinutes=60-minutes;
      var remainingSeconds=60-seconds;
      var remainingTimeInMiliseconds=(remainingHours*3600+remainingMinutes*60+remainingSeconds)*1000;
      toggleEnablingRegistry(true, remainingTimeInMiliseconds, callback);
  }
}
checkTime(checkTime);
var disableOrEnableRegistry=函数(disableAll){
//假设需要禁用所有按钮和输入
var buttons=document.getElementsByTagName('button');
var inputs=document.getElementsByTagName('input');
用于(按钮中的按钮){
button.disabled=disableAll;
} 
用于(输入的输入){
input.disabled=禁用全部;
}
}
var toggleEnablingRegistry=函数(切换、间隔、chechTimeCallback){
setTimeout(函数(){
禁用或禁用注册表(切换);
chechTimeCallback(chechTimeCallback);
},间隔);
}
var checkTime=函数(回调){
var d=新日期();
var hours=d.getHours();
var minutes=d.getMinutes();
var seconds=d.getSeconds();
如果(小时>16 | |(小时===16和分钟>0)){//16:01-23:59
可禁用或不可禁用注册表(真);
var剩余小时=23小时+7小时;
var剩余分钟=60分钟;
var剩余秒数=60秒;
var RemainingTimeinMilisons=(remainingHours*3600+remainingMinutes*60+remainingSeconds)*1000;
切换启用注册表(false、RemainingTimeInMilisons、回调);
}

else if(hours)此逻辑可能应该在服务器端,因为任何被阻止的元素都可以绕过。如果您只是想直观地阻止表单,只需请求一些选择器,该选择器将获取所有相关输入并将其标记为禁用。但这不会阻止某人重新启用它们。