Помогите пожалуйста, есть написана функция суть ее это сделать эффект текста который набирается. То есть при переключении слайда она принимает 2 фразы одна будет невидимая вторая берется и по одному символу набирается. После того как функция завершится слайд переключается и все по новой. Тот код который я демонстрирую рабочий. Но мне нужно еще как то ее усовершенствовать чтобы можно было досрочно завершать и переключится на второй слайдер. Только что-то мозгами не могу дойти до этого.
Его кривую роботу при переключении можете увидеть здесь.
klucik2016.psdcoding.co/en
function writetext(prev,timeOneC){
var word = '', pos = '', newWord = '', i = 0, g = 0, sub = '', auto = true;
sub = $('.topHomeBlock .slider .slick-active .subTitle'); //получаю текст в слайдере
pos = $('.topHomeBlock .slider .slick-active .title'); //получаю второй текст в слайдере
pos.addClass('vis');
word = pos.text();
pos.text('');
timeoutW();
//функция которая добавляет по одной букве к слову за один вызов, когда дойдем до конца вторая фраза будет видна
function timeoutW() {
if (i < word.length){
setTimeout(function () {
i++;
newWord += word.charAt(i);
pos.text(newWord);
timeoutW();
}, timeOneC);
}
if(i === word.length){
pos.addClass('blick');
sub.addClass('vis');
setTimeout(function () {
pos.removeClass('blick');
timeoutR();
}, timeOneC * 15);
}
}
//функция которая удаляет по одному символу за вызов
function timeoutR() {
setTimeout(function () {
if (g < word.length){
g++;
newWord = word.substring(g);
pos.text(newWord);
timeoutR();
}
}, timeOneC/3);
if(g === word.length && auto){
if(prev){
$('.topHomeBlock .slick-prev').click(); //предыдущий слайд
}else{
$('.topHomeBlock .slick-next').click(); // следующий слайд
}
sub.removeClass('vis'); //убираю класс чтобы текст стал невидим
pos.text(word).removeClass('vis'); //убираю класс чтобы текст стал невидим
writetext(false,150); //вызываю функции снова
}
}
}
writetext(false, 150);