Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 30.01.2020
Сообщений: 17

Анимация текста

30.01.2020, 16:43. Показов 3482. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! есть задача такого характера, есть Логотип ввиде текста
HTML5
1
<div class="header-log__top">JSpazzle</div>
нужно сделать так что бы каждая буква по определенному времени меняла свой цвет и обход должен быть сначала
вперед а потом назад
на пример J покрасилась в черный цвет,дальше краситься буква S а буква J должна вернуть свой дефолтный цвет и так по циклу
сначала вперед а потом с конца
направьте в правильное русло меня есть наработка, но получается что я просто добавляю буквы в DOM и цикл не останавливается

html
HTML5
1
<div class="header-log__top">JSpazzle</div>
css
CSS
1
2
3
4
.animation-word{
  transition: 1s;
  color:red;
}
и сам JS

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
let topLogo = document.querySelector('.header-log__top');
let i = 0;
 
const wordInterval = setInterval(() => {
  let word = topLogo.textContent.split('');
  let span = document.createElement('span');
 
  if (i > word.length) {
    clearInterval(wordInterval);
  }
  else {
    span.classList.add('animation-word');
    span.textContent = word[i];
    span.style.color = 'red';
    span.style.transition = '0.8s';
    topLogo.appendChild(span);
    i++;
    
  }
}, 900);
пока только сделал вот это, просто наступил ступор
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.01.2020, 16:43
Ответы с готовыми решениями:

Анимация: эффект набора текста («пишущей машинки»)
Нужно будет реализовать: слева – направо (обычный набор), справа – налево, центрирование набираемой строки обычного набора. в html...

анимация текста
В этом коде &lt;html&gt; &lt;head&gt; &lt;script type=&quot;text/javascript&quot;&gt; function animatetext(id, text, i) { ...

Анимация текста
Всем хей :-) как сделать flying текст чтобы можно было прописать в консоле например game.popup ('Text flying') и снизу вылетает текст...

3
2 / 1 / 2
Регистрация: 02.05.2019
Сообщений: 18
30.01.2020, 18:28
Лучший ответ Сообщение было отмечено alexjunior как решение

Решение

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
    <div class="header-log__top"><span>J</span><span>S</span><span>p</span><span>a</span><span>z</span><span>z</span><span>l</span><span>e</span></div>
    <script src="js/main.js">
    </script>
 
</body>
</html>
CSS
1
2
3
     .red{
    color:red;
     }
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
let topLogo = document.querySelector('.header-log__top');
let topLetters = document.querySelectorAll('.header-log__top>span');
 
let i = 0;
let lastIndex = undefined;
const wordInterval = setInterval(() => {
    if(lastIndex!=undefined){
       topLetters[lastIndex].classList.remove("red");  
    }   
    topLetters[i].classList.add("red");
 
    lastIndex = i;
 
    if(i<topLetters.length-1){
      i++
    }else{
      i=0;  
    }
}, 900);
А что если так? Нельзя, чтобы изначально каждая буква была в отдельном спане?
1
380 / 230 / 115
Регистрация: 22.11.2016
Сообщений: 379
30.01.2020, 19:16
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
        .ch-color { color: red; }
    </style>
</head>
<body>
    <h1 class="header-log__top">JSpazzle</h1>
 
    <script type="text/javascript">
        "use strict";
 
        const getNameMethod = (s) => !s ? 'nextElementSibling' : 'previousElementSibling';
        let h1 = document.getElementsByClassName("header-log__top")[0];
        let state = false;
        h1.innerHTML = h1.textContent.split("").map(w => `<span>${w}</span>`).join("");
 
        let span = h1.getElementsByTagName("span")[0];
        span.classList.add("ch-color");
        wordChanColor(span, 100);
 
        function wordChanColor(sp, timer) {
            setTimeout(() => {
                if (!sp[getNameMethod(state)]) state = !state;
                sp.classList.remove("ch-color");
                sp[getNameMethod(state)].classList.add("ch-color");
                wordChanColor(sp[getNameMethod(state)], timer);
            }, timer);
        }
    </script>
</body>
</html>
1
0 / 0 / 0
Регистрация: 30.01.2020
Сообщений: 17
30.01.2020, 21:53  [ТС]
кстати я изначально делал все буквы в отдельных спанах,но подумал что это не есть хорошо спасибо,теперь буду пробовать остановку на конечном слове и цикл обратно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.01.2020, 21:53
Помогаю со студенческими работами здесь

Анимация текста
Привет всем. Помогите, нужен я так понимаю скрипт js что он будет делать: при открытии странички в заданном месте(скорей всего в центре)...

Анимация текста
1. Сабж. Кто желает помочь, повторите пожалуйста эту анимашку. Честно пытался разобраться, но сломал зубы об этот гранит. 2. Литература...

Анимация текста
Всем привет Как сделать подобную анимацию текста как на сайте mcchill.in ? Возможно в Joomla есть расширения для этого?

Анимация текста
Всем привет. У меня есть текст записанный в поле lable. ВОПРОС как сделать так что-бы при помещении курсора мыши над текстом изменялся...

Анимация текста
Доброго времени суток, возник вопрос, как реализовать подобный эффект: http://globator.net/uploads/tutors/tutor41_files/37.gif ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru