ZorNet.Ru — сайт для вебмастера » JavaScript и jQuery » Эффект печати текста на клавиатуре

Эффект печати текста на клавиатуре

Эффект печати текста на клавиатуре
Представляем скрипт, который оживляет текст, выводя его на экран так, будто он печатается. Каждый символ появляется с небольшой задержкой, создавая эффект "живого" ввода. Это отличный способ привлечь внимание к важным сообщениям или сделать взаимодействие с вашим сайтом более динамичным.

Функциональные особенности:

Регулируемая скорость печати:
Вы можете настроить скорость вывода с помощью параметра delay.
Легкая настройка текста:
Просто укажите нужный текст в переменной text.
Возможность остановки:
Пользователь может остановить процесс печати, кликнув на крестик.
Интеллектуальное сохранение:
Скрипт запоминает свое состояние (запущен или остановлен) в localStorage. Если вы остановили его, он не запустится снова при следующем визите на страницу.

Пример использования:

Где хотите вывести блок со своим "печатающимся" текстом, прописываем следующий код HTML:
Код
<div id="output"></div>

Ниже подключаем JavaScript с функцией набора текста:
Код
<script>
const text = "Привет! Это пример текста, который будет выводиться с эффектом печатания.";
const delay = 50; // задержка между символами в миллисекундах
const output = document.getElementById('output');
const startTime = Date.now();
const duration = text.length; // продолжительность вывода текста в секундах (например, 10)
let index = 0;
let timer; // переменная для хранения таймера

function printCharacter() {
if (index < text.length && (Date.now() - startTime) < duration * 1000) {
output.innerHTML += text[index];
index++;
timer = setTimeout(printCharacter, delay); // задержка между символами
} else {
// Показываем ссылку с крестиком после завершения текста
showCloseLink();
}
}

function showCloseLink() {
const closeLink = document.createElement('a');
closeLink.href = '#';
closeLink.textContent = ' ❌';
closeLink.style.marginLeft = '5px';
closeLink.addEventListener('click', function(event) {
event.preventDefault();
localStorage.setItem('script-closed', 'true'); // запоминаем, что скрипт был закрыт
output.style.display = 'none'; // скрываем вывод скрипта
});
output.appendChild(closeLink);
}

// Проверяем, был ли скрипт уже закрыт
if (localStorage.getItem('script-closed') === 'true') {
output.style.display = 'none'; // скрываем вывод скрипта, если он был закрыт ранее
} else {
printCharacter(); // запускаем вывод текста, если скрипт еще не был закрыт
}
</script>

P.S.: в качестве демонстрации, процесс вывода текста на экран будет сопровождаться задержкой в 50 миллисекунд между отображением каждого символа - меняем это значение под себя.

---UPD.: проверил выложенный скрипт jaguar37russ (sergeichumadov) - оказался нерабочим. Внёс два исправления - заработал!--- © -SAM-
24 Августа 2025 Просмотров: 172 Комментариев: (4)

Поделиться в социальных сетях

Материал разместил

Комментарии: 4
noavatar
sergeichumadov 29 Августа 2025 23:301
-1
Друг мой дорогой, тронувшись умом, а зачем ты выложил мой скрипт от моего имени и заблокировал аккаунт? У тебя там что, ПМС? Я про аккаунт jaguar37russ... Мне так-то вообще пофиг, просто интересно, чем ты руководствовался)))
Можешь и этот заблокировать

---Естественно. Ведь вы нарушили П.П. I.4 сайта/форума (повторная регистрация, обход бана основного аккаунта).--- © -SAM-
noavatar
sergeichumadov 29 Августа 2025 23:352
-1
-SAM- Сегодня, 15:44
Рип функционала For-uCoz и ZorNet... на код взгляни если что то понимаешь.
noavatar
sergeichumadov 29 Августа 2025 23:403
-1
Сами то хоть один скрипт написали? Всё древнее как говно мамонта и всё из общего доступа.. Пиз*ц мы конечно оба два
Пишется по мелочам. В зависимости от нужды. Рипать чужие скрипты - это не есть хорошо! Да и не в приоритете у владельца наполнение сайта скриптами и готовыми решениями для uCoz, к сожалению (или к счастью, хз). То есть тут и до этого не было такого, чтобы писали как на Вэбочке, допустим, по запросу пользователей. Таких сайтов практически не осталось в системе. На сайте waak он можно найти самописные работы. © -SAM-
noavatar
sergeichumadov 29 Августа 2025 23:474
-2
SAM, ну где ты там? Хватит спать
Ладно всем спокойной ночи. Раз не хотите на связь выходить
На связь выходить - это через форму Обратная связь нужно было, а не "спамить" через комментарии. © -SAM-

Оставь свой отзыв

avatar