У меня есть функция, выполнение которой занимает около 10 секунд, и она прерывается, если реактивируется до завершения первой итерации - Она действует как текстовый фейдер - JQuery - не вариант, я хочу использовать чистый JS
Моя функция:
//Text fading effect
function fadeText() {
var hex1 = 153,
hex2 = 204,
hex3 = 51;
function innerFade() {
if (hex1 >= 30) {
hex1 -= 1;
document.getElementById('confirmation').style.color = "rgb(" + hex1 + "," + hex2 + "," + hex3 + ")";
}
if (hex2 >= 30) {
hex2 -= 1;
document.getElementById('confirmation').style.color = "rgb(" + hex1 + "," + hex2 + "," + hex3 + ")";
}
if (hex3 >= 30) {
hex3 -= 1;
document.getElementById('confirmation').style.color = "rgb(" + hex1 + "," + hex2 + "," + hex3 + ")";
}
setTimeout(innerFade, 20);
}
innerFade();
}
Это активируется при нажатии кнопки, я хочу, чтобы первая итерация отменила или установила innerHTML
элемента div, которому текст был присвоен innerHTML="";
, если он активируется снова до завершения анимации.