Попробуйте это:
<script type="text/javascript">
var checkIntervalId = null;
var blinkIntervalId = null;
var flag = 1;
var elm = document.getElementById('blinkDiv');
function init() {
checkIntervalId = window.setInterval(check,30000);
}
function check() {
clearInterval(blinkIntervalId);
if (flag==0) {
blinkIntervalId = window.setInterval(blink,1000);
}
}
function blink() {
if (elm.style.color == "#ff0000")
elm.style.color = "#ffffff";
else
elm.style.color = "#ff0000";
}
</script>
Если вы измените значение flag
с помощью внешних функций, вам необходимо оставить интервал для проверки, изменилось ли оно или нет. Вы можете изменить этот интервал до 5 секунд, например. поэтому он быстрее обнаружит изменение.
Другой способ - изменить flag
не напрямую, а с помощью функции установки для напр. setFlag(1)
и внутри этой функции вы можете установить и отключить интервал.