@Flipflap

Как сделать условие JavaScript с помощью setinterval?

Мне нужно, чтобы скрипт срабатывал раз в опредлённое время, только если условие вернуло TRUE.

Для этого, я написал такой код, но подозреваю, что он не верный
<script>
var modal = document.getElementById("mymodal");
var btn = document.getElementById("close");

function show () {
	if (document.URL.indexOf("/testurl/") != -1);
        modal.style.display = "block";
}

         btn.onclick = function() {
         modal.style.display = "none";
     }

setInterval(show, 10000);
</script>


Дело в том, что скрипт работает с интервалом игнорируя условие, будто оно вечно TRUE. ( познания в JS очень не глубокие, поэтмоу прошу не закидывать тухлыми помидорами )
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Absolute138
function show () {
  if (document.URL.indexOf("/testurl/") != -1){
        modal.style.display = "block";
  }
}
  btn.onclick = function() {
         modal.style.display = "none";
  }
Ответ написан
bingo347
@bingo347 Куратор тега JavaScript
Бородатый программер
Ошибка в точке запятой после ifif (document.URL.indexOf("/testurl/") != -1);if обрабатывает пустую операцию, все что дальше уже вне if

Поэтому всегда заключайте тело условий и циклов в фигурные скобки.

Нормальный вариант уже предложен Absolute138

Но остается вопрос, зачем здесь вообще интервал?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
22 окт. 2020, в 06:46
3000 руб./за проект
21 окт. 2020, в 22:40
300 руб./за проект
21 окт. 2020, в 22:34
25000 руб./за проект