вопрос
Всем привет. На странице имеется чекбокс class="envelope__check", после нажатия (ставим галочку) должно происходить следующее: - через 1 секунду печатается некий текст, это выполняет вот этот скрипт
- далее с определённым интервалом на экран выводятся картинки, это выполняет вот этот скрипт
Необходимо объединить оба скрипта в один. Как это грамотно сделать? Всем спасибо.
function f() {
function writeTextByJS(id, text, speed){
var ele = document.getElementById(id),
txt = text.join("").split("");
var interval = setInterval(function(){
if(!txt[0]){
return clearInterval(interval);
};
ele.innerHTML += txt.shift();
}, speed != undefined ? speed : 100);
return false;
};
writeTextByJS(
"test",
[
'Печатается\n',
'некий\n',
'текст\ n'
]
);
}
document.querySelector('.envelope__check').onchange=function()
{if(this.checked){setTimeout(f, 1000)}}
- далее с определённым интервалом на экран выводятся картинки, это выполняет вот этот скрипт
Promise.delay = (ms) => new Promise(resolve => { setTimeout(resolve, ms); });
document.querySelector(".envelope__check").onchange = ch1_change;
async function ch1_change() {
this.onchange = ch1_disabled;
await Promise.delay(1000);
document.querySelector("#picture1 img").src = "1.png";
await Promise.delay(2000);
document.querySelector("#picture2 img").src = "3.gif";
}
function ch1_disabled() { this.checked = true; }
Необходимо объединить оба скрипта в один. Как это грамотно сделать? Всем спасибо.
Нужный ответ получен. Тему можно закрыть.