Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Проверка на наличие (https://javascript.ru/forum/dom-window/69117-proverka-na-nalichie.html)

jonsinat2 30.05.2017 23:35

Проверка на наличие
 
В общем как сделать проверку пока не появитнся нужное число.
например на странице есть таймер, мне нужно сделать так, что когда будет 13 секунд на таймере, выполнить определенный код.

Сейчас делаю так:
function sec() {
var schet = document.getElementsByClassName("opa")[0].getElementsByTagName("opa")[0].innerHTML;
if (schet == "13") {alert("четко");}else{alert("ждем");}
}
var intervalID = setInterval(sec, 500)



Так вот, иногда скрипт может сработать 2 раза иногда залагает и не сработает, в общем любым подсказкам буду раз и наперед благодарю :)
П.с: вообще нуб, не шарю))

рони 30.05.2017 23:54

jonsinat2,
в таймер и надо добавлять проверку

jonsinat2 30.05.2017 23:57

так сайт не мой) мне надо выполнить функцию когда будет 13 сек, просто думал мб есть лучший способ чем я использую)

рони 31.05.2017 00:05

jonsinat2,
MutationObserver

jonsinat2 31.05.2017 00:15

Цитата:

Сообщение от рони (Сообщение 453901)
jonsinat2,
MutationObserver

можно пример с моим кодом выше?

рони 31.05.2017 00:44

MutationObserver
 
jonsinat2,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>

  <script>
   window.addEventListener('DOMContentLoaded', function() {
     var target = document.getElementsByClassName("opa")[0].getElementsByTagName("opa")[0];
/* timer */
setInterval(function() {
     target.innerHTML++
}, 500)

var observer = new MutationObserver(function() {
  if(target.innerHTML == 15) {
    alert("ok");observer.disconnect();
  }
});
observer.observe(target, {childList: true});
      });
  </script>
</head>

<body>

<div class="opa"><opa>0</opa></div>

</body>
</html>


Часовой пояс GMT +3, время: 04:46.