Сейчас: 04:03:59   25-го апреля 2024 г.
183
558

Плавное появление текста по буквам

В данной теме мы хотим показать Вам небольшой скрипт, который позволяет при помощи jQuery и CSS создавать на собственном сайте текст с плавным появлением по буквам.


Для того чтобы понять о каком эффекте плавного появления текста идет речь, обновите страничку и обратите внимание на текст расположенные ниже:



Как видите, анимация текста при помощи jQuery и CSS выглядит довольно таки неплохо, но для нормальной ее работы, первоначально текст рекомендуется скрывать.


Давайте рассмотрим, как получить подобный эффект плавного появления текста по буквам на своем сайте. Первым делом стоит прописать стили для текста. Для этого разместите данные стили на своем сайте межу тегами <head></head>:

HTML код:
<style type="text/css">
#example .new { opacity: 0; }
#example .div_opacity {
    
-webkit-transitionopacity .2s ease-in-out;
    -
moz-transitionopacity .2s ease-in-out;
    -
ms-transitionopacity .2s ease-in-out;
    -
o-transitionopacity .2s ease-in-out;
    
transitionopacity .2s ease-in-out;
    
opacity1;
}
</
style>

Далее в нужном месте странички необходимо поместить текст, к которому и будем применять наш эффект анимации:

HTML код:
<div id="example" style="padding: 0px 0px 0px 100px; width: 350px; display: none;">
Тут Ваш тексткоторый будет плавно появляться.</div>

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

JavaScript код:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">
</script>

После того, как библиотека jQuery была подключена, Вам остается только добавить JavaScript код, отвечающий за анимацию выводимого текста:

JavaScript код:
<script type="text/javascript">
$(
document).ready(function(){
 $.
fn.animate_Text = function() {
  var 
string this.text();
  return 
this.each(function(){
   var 
$this = $(this);
   
$this.html(string.replace(/./g'<span class="new">$&</span>'));
   
$this.find('span.new').each(function(iel){
    
setTimeout(function(){ $(el).addClass('div_opacity'); }, 20 i);
   });
  });
 };
 $(
'#example').show();
 $(
'#example').animate_Text();
});
</script>

Все. Теперь Вы сможете порадовать своих посетителей отличным эффектом постепенного вывода текста. Но, стоит отметить, что данный скрипт не работает в IE, и вывод текст целиком.

Дата создания: 15:53:05 01.11.2012 г.
Дата обновления: 18:18:39 05.11.2012 г.
Посещений: 39534 раз(а).

Комментарии посетителей (8 шт.):
Евгений
9
# 1102
(22:21:40  11.09.2013 г.)

Как сделать, чтобы разный текст появлялся в разных блоках по мере того, как блоки плавно появляются и исчезают, последовательно сменяя друг друга на одной странице?
Ответить

redruM
0
# 2189
(18:38:17  15.01.2015 г.)

А если у меня не одна строчка, а две или три. Как сделать, что бы по окончании первой начиналась вторая строчка. По окончании второй начиналась третья?
Ответить

Administrator
2
# 2190
(20:33:35  15.01.2015 г.)

А сейчас разве не так? Внутрь блока <div id="example"></div> можно поместить сколько угодно строк.
Ответить

Серега
3
# 2264
(12:22:52  13.02.2015 г.)

А как вывести стих?
Объясню, - у меня строки выводятся одна за другой (сколько влазит в ширину width) не переносятся по окончанию строки, пробовал Каждую строку заворачивать в <p></p>, в конце каждой строки ставить <br />, \n и т.п. не помогает.
Мне нужно чтоб каждая строка стиха выводилась новой строкой.
Ответить

Administrator
2
# 2266
(21:24:28  13.02.2015 г.)

Вот теперь понятно, в чем проблема, а то в сообщении # 2189 не подробно было описано.
Т.к. весь текст разбивается скриптом на отдельные символы, то для перевода строк нужно будет использовать какой-нибудь редко используемый символ и к тому же он должен быть не служебный. Предлагаю использовать символ "~" (добавлять в его конце строки вместо <br />).
А в коде строку: $this.html(string.replace(/./g, '<span class="new">$&</span>'));
заменяем на две такие:
string=string.replace(/./g, '<span class="new">$&</span>');
$this.html(string.replace(/~/g, '<br />'));
Ответить

Серега
4
# 2269
(09:29:25  16.02.2015 г.)

Большое спасибо!
Скрипт отличный, особенно сейчас :), я правда пошёл другим путём, - я закомментировал строку $this.html(string.replace(/./g, '<span class="new">$&</span>'));, каждую строку текста руками завернул в <span class="new">, вышло не так эффектно но так как я ещё не такой спец как Вы (я только учусь) то мне итак понравилось, а Ваш вариант нравится ещё больше подход интересный.
Ответить

Артур
0
# 3009
(11:26:26  28.01.2016 г.)

Добрый день! А возможно, чтобы на странице таким образом, в начале, появился заголовок, а потом второй строкой под заголовком, комментарий к заголовку (одна строчка). Причем, шрифты у заголовка и строки под заголовком разные.
Ответить

Алексей
0
# 3603
(16:28:11  01.12.2016 г.)

Здравствуйте, подскажите, пожалуйста, как можно вставить ссылку вида: <a href="#">Подробнее</a>. Что бы Слово "подробнее" появлялось плавно, и могло быть ссылкой.
Ответить

Закрыть
Ваше имя:
600 + 11 =
Добавить комментарий:
Ваше имя:
600 + 11 =

Перед публикацией все комментарии проходят обязательную модерацию!

Если Вы хотите задать какой-либо вопрос, то сделайте это на нашем форуме.
Таким образом, Вы сможете быстрее получить ответ на интересующий Вас вопрос.
Посетителей онлайн: 3

Какую CMS для сайта Вы предпочитаете?