Буст для htmlacademy

Этот код можно инжектить из браузера на каждую страницу сайта htmlacademy, чтобы избавить себя от необходимости вручную кликать мышкой на кнопку “дальше”.

$(function check(){setTimeout(function() { check(); }, 1000); if ($(".task-completed").css("display")==="block"){$("#next-lab")[0].click();}})

Я проверяю наличие блока .task-completed, и если он есть, то скрипт кликает на #next-lab чтобы загрузить следующее задание. Вопрос: как привязаться к событию, которое являет собой смену свойства блока из display:none на display:block, чтобы не проверять это свойство раз в секунду?

Парочка решений с SO:

  1. Найти, с помощью какой функции у тебя отображается эта кнопка и переопределить эту функцию http://stackoverflow.com/questions/1225102/jquery-event-to-trigger-action-when-a-div-is-made-visible
  2. Использовать мутации http://stackoverflow.com/questions/1397251/event-detect-when-css-property-changed-using-jquery
2 симпатии