Как я могу установить Timeout для этого кода JQuery? - PullRequest
0 голосов
/ 27 октября 2019

Я пытался создать эффект печати и нашел этот фрагмент кода, который отлично работает. Единственная проблема заключается в том, что мне нужно установить задержку в 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();



Ответы [ 2 ]

0 голосов
/ 28 октября 2019

Вы можете попробовать это:

window.onload = function() {
  setTimeout(function(){
   typewriterFunction()
  }, 6000 );
};

function typewriterFunction() {
// Code for typing effect after first slide plays
}
0 голосов
/ 27 октября 2019

Попробуйте это:

window.onload = function() {
   setTimeout(typewriterFunction, 6000)
};

function typewriterFunction() {
    // Code for typing effect after first slide plays
}
...