Tengo un botón que deshabilito dependiendo de si ha pasado una fecha y hora, sin embargo, esto solo funcionará en la carga de la página, ¿cómo puedo configurar un temporizador de cuenta regresiva para que mi botón esté deshabilitado cuando se alcance la cuenta regresiva para la nominationCloseDateTime incluso si la página ya está cargado.
<ctx><vars><nominationCloseDateTime>2022-05-10 04:56:00.000Z</nominationCloseDateTime></vars></ctx>
var nominationCloseDateTime = document.controller.getValue('/ctx/vars/nominationCloseDateTime'); if (nominationCloseDateTime < $.now()) { $('input#nominate').prop('disabled', true); }He calculado la cuenta regresiva hasta la fecha en segundos, ¿ahora qué sigue?
var nominationCloseDateTimeCountDownSecs = ((new Date(document.controller.getValue('/ctx/vars/nominationCloseDateTime')).getTime()) - new Date().getTime()) / 1000;¿Es correcto lo siguiente?
setTimeout(() => { $('input#nominate').prop('disabled', true); }, nominationCloseDateTimeCountDownSecs)Desea utilizar una función setTimeout() .
Por ejemplo,
//calculate, in seconds, how much time you want the button to stay enabled. const calculatedTimeUntilCloseDateTime; setTimeout(() => { functionToDisableYourButton(); }, calculatedTimeUntilCloseDateTime)Funcionará como a continuación:
setTimeout(() => { console.log("Delayed for 1 second."); }, 1000)