Итак, я хочу создать приложение jQuery, где текст будет анимироваться на экране, чтобы выглядеть так, как будто кто-то печатает что-то. Я достиг этого в самой простой форме.Имитация ввода с помощью jQuery, приостановка или удлинение функции setInterval
HTML
<p></p>
JQuery
$(document).ready(function() {
var p = $('p');
p.text('');
window.setInterval(function(){
inc(p);
}, 100);
});
var i = 0;
function inc(p)
{
var text = "Hey... This is just a test";
p.append(text.charAt(i));
i++;
}
То, что я хочу знать, как бы я, возможно, после того, как "Эй ..." Говори функция остановиться на 2 секунды? Или сколько бы я ни пожелал.
У меня была идея, но она очень неэффективна и «дерьмова», и это должно добавить столько пробелов, сколько потребовалось бы, чтобы ничего не печатать в течение 2 секунд, а затем заменить строку на все перед пробелами и продолжить добавление.
Это ужасно, и мне бы хотелось, чтобы это было лучше. Может кто-нибудь, пожалуйста, дайте мне какие-нибудь предложения? И setInterval правильная функция для использования, или я должен использовать setTimeout?
Here's сценарий моего кода.
Я ценю любую помощь или предложения, спасибо вам большое.
я не понимаю, вы хотите, чтобы перезагрузить функцию через 2 секунды? – Shayan
Итак, скажем, у меня есть строка «Эй ... Это всего лишь тест», я хочу иметь возможность сделать что-то вроде: «Эй ... [пауза: 2s] Это просто тест», и то я могу запустить оператор if перед добавлением чего-либо и проверить с регулярным выражением, сколько секунд на паузу, и после этого времени я продолжаю добавление @shayanypn –