Я пытался создать эффект печати и нашел этот фрагмент кода, который отлично работает. Единственная проблема заключается в том, что мне нужно установить задержку в 6 секунд, прежде чем она запустится, и я не могу этого сделать.
Ситуация такова, что у меня есть несколько слайдов, и этот текст находится на первомгорка. Итак, в основном мне нужно, чтобы он начинался с задержкой в 6 секунд после воспроизведения первого слайда.
Я попытался присвоить функции имя и установить для нее Timeout, а также установить Timeout для всей функции. и ни один из них не работал. Я протестировал немало других подходов, которые, как я думал, сработали, и ни один из них не сработал. Я все еще не уверен в jQuery, и, возможно, поэтому я не могу придумать правильное решение.
$.fn.typewriter = function () {
this.each(function () {
var c = $(this),
b = c.html(),
a = 0,
d = 0;
c.html("");
var e = function () {
if ("<" == b.substring(a, a + 1)) {
var f = new RegExp(/<span class="instant"/),
g = new RegExp(/<span class="clear"/);
if (b.substring(a, b.length).match(f)) a += b.substring(a, b.length).indexOf("</span>") + 7;
else if (b.substring(a, b.length).match(g)) d = a, a += b.substring(a, b.length).indexOf("</span>") + 7;
else
for (;
">" != b.substring(a, a + 1);) a++
}
c.html(b.substring(d, a++) + (a & 1 ? "_" : ""));
a >= b.length || setTimeout(e, 50 + 50 *
Math.random())
};
e()
});
return this;
};
$(".terminal").typewriter();