Вы можете включить этот код:
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);
Пояснение:
функция «checkTime ()» определяет текущее время, следует ли отключить или включить реестр; Затем он отправляет в следующий раз, когда регистр должен быть включен или отключен путем вызова функции «toggleEnablingRegistry ()», которая после оставшегося времени снова вызывает функцию «checkTime ()».