V.I.P ЭКСКЛЮЗИВ
boosty.to/monster-tem

Подпишись и скачивай
любые файлы, скрипты, проекты и многое другое

MonsterTem.ru » Разное для сайта » Создайте эффект набора текста используя HTML CSS и Vanilla JavaScript

Создайте эффект набора текста используя HTML CSS и Vanilla JavaScript

Создайте эффект набора текста используя HTML CSS и Vanilla JavaScript
5.10.2024
31 просмтотр

Вы когда-нибудь сталкивались с этим классным эффектом набора текста на разных веб-сайтах, где слова выглядят так, как будто их печатают? Если вы начинающий веб-разработчик, вам может быть интересно, как самостоятельно создать такую привлекательную анимацию. Что ж, это простой, но впечатляющий эффект, которого можно достичь, используя только HTML, CSS и jаvascript.

В этой анимации набора текста каждая буква слова появляется одна за другой, создавая эффект пишущей машинки. В конце слова также есть анимация мигающего курсора, чтобы сделать эффект более привлекательным. Чтобы узнать больше о том, как выглядит наша анимация ввода текста, вы можете посмотреть данное видео

Вы можете посмотреть видео демонстрацию, попробовать сверстать самому по видео или скачать архив с готовым кодом. Если это видео оказалось для вас полезным, оставьте комментарий со своими мыслями или вопросами. Ваши отзывы помогают нам создавать более ценный контент.

В архиве находится:

  • Исходные файлы HTML
  • Исходные файлы CSS
  • Исходные файлы jаvascript
  • Иконки шрифтов
  • Файлы библиотеки и плагинов

В этом сообщении в блоге я проведу вас по шагам создания этой анимации набора текста с использованием HTML, CSS и ванильного jаvascript. Это означает, что мы не полагаемся ни на какие внешние библиотеки jаvascript, такие как typed.js . Таким образом, вы получите глубокое понимание того, как создается этот тип анимации набора текста и как вы можете применить свои навыки к реальным веб-проектам.


HTML КОД:

<body>
    <h1>Coding is <span></span></h1>
</body>


CSS КОД:

body {
    display: flex;
    height: 100vh;
    align-items: center;
    justify-content: center;
    background: #1D1E23;
}
h1 {
    color: #fff;
    font-size: 2rem;
    font-weight: 600;
}
h1 span {
    color: #BD53ED;
    position: relative;
}
h1 span::before {
    content: "";
    height: 30px;
    width: 2px;
    position: absolute;
    top: 50%;
    right: -8px;
    background: #BD53ED;
    transform: translateY(-45%);
    animation: blink 0.7s infinite;
}
h1 span.stop-blinking::before {
    animation: none;
}
@keyframes blink {
    50% { opacity: 0 }
}


jаvascript КОД:

const dynamicText = document.querySelector("h1 span");
const words = ["Love", "like Art", "the Future", "Everything"];

// Variables to track the position and deletion status of the word
let wordIndex = 0;
let charIndex = 0;
let isDeleting = false;

const typeEffect = () => {
    const currentWord = words[wordIndex];
    const currentChar = currentWord.substring(0, charIndex);
    dynamicText.textContent = currentChar;
    dynamicText.classList.add("stop-blinking");

    if (!isDeleting && charIndex < currentWord.length) {
        // If condition is true, type the next character
        charIndex++;
        setTimeout(typeEffect, 200);
    } else if (isDeleting && charIndex > 0) {
        // If condition is true, remove the previous character
        charIndex--;
        setTimeout(typeEffect, 100);
    } else {
        // If word is deleted then switch to the next word
        isDeleting = !isDeleting;
        dynamicText.classList.remove("stop-blinking");
        wordIndex = !isDeleting ? (wordIndex + 1) % words.length : wordIndex;
        setTimeout(typeEffect, 1200);
    }
}

typeEffect();


Категории: Разное для сайта
Кликните на изображение чтобы обновить код, если он неразборчив