Код, который вы указали, работает, но только запускается один раз. Я имею в виду, что вы пропускаете l oop каждую миллисекунду, если элемент должен быть видимым или нет.
В Javascript у вас есть встроенная функция setInterval для соответствия sh тому, что вы хотите , Чтобы проверить, находится ли «сейчас» между двумя датами в миллисекундах, вам нужно установить интервал следующим образом:
var started = Date.now();
var begin = 1585684800000;
var end = 1585720800000;
var current_time = document.getElementById("current_time");
var result = document.getElementById("result");
var counter = setInterval(function(){
var now = Date.now();
current_time.innerHTML = now;
if(now >= begin && now <= end)
{
result.innerHTML = 'visible';
} else {
result.innerHTML = 'not visible';
}
}, 100);
<span id="current_time"></span>
<span id="result"></span>
Как вы можете видеть в моем рабочем примере ... тег с идентификатором current_time будет показать текущую временную метку в реальном времени.
Я надеюсь, что код поможет вам понять концепцию setInterval.