Первая проблема заключается в том, что вы явно не вызываете оператор if. Я предполагаю, что этот код находится в блоке $(document).ready()
, и в этом случае он будет выполняться только при первой загрузке документа. Он не работает непрерывно, как написано.
Поскольку вы запускаете отображение красного квадрата нажатием кнопки, вам не нужна функция прослушивателя, которая «обнаруживает», когда это происходит. Вы знаете, когда это происходит, когда нажимается кнопка. Так что поставьте тайм-аут и код изменения цвета прямо здесь:
$("#shower").click(function() {//click to show red square
$('#DivBlock').show();
setTimeout(function() {
$('#DivBlock').addClass('yellow');
}, 10000);
});
Если нет чего-то еще, чего я не знаю, это должно сделать это.