Javascript 如何按时间打开和关闭注册表
我有一个网站要注册。 如何使用JavaScript按时间关闭和打开注册表。 开放时间为上午08:00至下午16:00。 下午16:01至上午7:59休息。 如何使用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
非常感谢。您可以包括以下代码:
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)此逻辑可能应该在服务器端,因为任何被阻止的元素都可以绕过。如果您只是想直观地阻止表单,只需请求一些选择器,该选择器将获取所有相关输入并将其标记为禁用。但这不会阻止某人重新启用它们。