@Apstrew

Как заставить скрипт постоянно отслеживать состояние объекта и реагировать если добавлен/удалён класс?

На странице php-код управляет видимостью элементов интерфейса (куски формы появляются один за другим). В какой-то момент нужный элемент интерфейса теряет класс invisible и становится видимым. Я хочу чтобы в этот же момент что-то происходило. Php-код в данном случае это черный ящик, править я его не могу. И в принципе не важно на каком языке написан модуль, я бы хотел прицпиться к внешним проявлениям его работы.

Я дошёл до стадии, где на каждом этапе я могу щёлкнуть кнопку, чтобы вручную "проверить состояние" нужного элемента. И когда нужный элемент видим, функция - по нажатию кнопки - это успешно отлавливает. (Я пытаюсь чтоб на определённом этапе прощёлкивания по форме появлялась бы картинка-подсказка, которую на других этапах не было бы видно)

Но хотелось бы теперь убрать кнопку-проверялку, и сделать так, чтоб как только элемент теряет класс функция срабатывала бы самостоятельно.

Как мне это сделать?

Мой код ниже:
<script>
document.getElementById("pic").style.visibility = "hidden";
function hasClass(element, cls) {
    return (' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1;
}

var el = document.getElementById('subheader');


var div = document.getElementById('testbutton');
div.addEventListener('click', function(e){

if (hasClass(el, 'hidden_panel') === false) {
   document.getElementById("pic").style.visibility = "visible";
    alert('went good');
  } else {
   alert('nope');
  };
});
</script>


Спасибо
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vextor-ltd
@Vextor-ltd
Webdeveloper
На странице php-код управляет видимостью элементов интерфейса


Бэк не не должен управлять видимостью элементов, он должен выдавать лишь данные. Всё остальное делай с помощью JS.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы