/ Scripts & jquery / Имитация набора текста

Имитация набора текста

16.02.2020

295

Различные решения по имитации набора текста.

Простое решение на js

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 : 5);

	return false;
};

jQuery(document).ready(function() {
	writeTextByJS(
	  "demo",
	   [
		   "Первое предложение (не важно какой длины).\n",
		   "\n",
		   "Второе предложение\n",	
		   "\n",	
		   "В 2001 году одной из первых в России компания СКАТ получила сертификат соответствия ISO 9001 «Системы менеджмента качества. Требования» в авторитетном сертификационном органе TUV (Германия).\n",
		   "\n",
		   "В течение 17 лет система управления компанией непрерывно развивается и улучшается, ориентируясь на требования потребителей."
		]
	);
});

Начать печать текста, только при появлении на экране, добавляем скрипт viewportChecker

jQuery(document).ready(function() {
	
jQuery('#demo').viewportChecker({
	offset: 200,	
	callbackFunction: function(){  
	
		writeTextByJS(
		  "demo",
		   [
			   "Первое предложение (не важно какой длины).\n",
			   "\n",
			   "Второе предложение\n",	
			   "\n",	
			   "В 2001 году одной из первых в России компания СКАТ получила сертификат соответствия ISO 9001 «Системы менеджмента качества. Требования» в авторитетном сертификационном органе TUV (Германия).\n",
			   "\n",
			   "В течение 17 лет система управления компанией непрерывно развивается и улучшается, ориентируясь на требования потребителей."
			]
		);
		
	}
});

});

Плагин TypeIt

Подключаем плагин (скрипт) typeit.min.js

https://cdnjs.cloudflare.com/ajax/libs/typeit/6.5.1/typeit.es.min.js

Далее инициируем его:

$('#text').typeIt({
     strings: ["This is a great string.", "But here is a better one."],
     speed: 50,
     breakLines: false, // не переносить на новую строку
     autoStart: false
});

У плагина много настроек и можно программировать сложные сценарии ввода текста.

Мигающий курсор

Чтобы рядом с печатающимся текстом был анимированный курсор, нужно прописать для класса .typed-cursor (специально предусмотренный), соответствующие стили.

.typed-cursor {animation: blink 0.7s infinite;}

@keyframes blink{
	0% { opacity:1; }
	50% { opacity:0; }
	100% { opacity:1; }
}

Мигающий курсор (отдельно от TypeIt)

Добавляем в блок текста с предполагаемым тексом

#demo:after {
    content: "";
    background: #03a9f4;
    line-height: 17px;
    margin-left: 3px;
    -webkit-animation: blink 0.8s infinite;
    width: 5px;
    height: 15px;
    display: inline-block;
}

@-webkit-keyframes blink {
  0% {background: rgba(3, 169, 244, 0)}
  50% {background: #03a9f4}
  100% {background: rgba(3, 169, 244, 0)}
}

Поделится информацией с друзьями

  • Комментарии
  • Вложения

Добавить комментарий

Пока нет комментариев. Будь первым!

Имитация набора текста
Особенности excerpt
Рекомендации для васОсобенности excerptOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.