Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   ТТТ: jQuery-плагин анимации текста (https://javascript.ru/forum/jquery/50576-ttt-jquery-plagin-animacii-teksta.html)

contorra 02.10.2014 14:20

ТТТ: jQuery-плагин анимации текста
 
Рабочее название - TTT, или Тасующаяся Трансформация Текста.
Разработан по спецзаказу digital-агенства Contorra.

Этот плагин позволяет сменить один текст на другой посредством событий "клика" или "наведения" на сам объект, либо любой другой, с эффектом трансформации каждого символа. Каждый символ текущего текста двигается по кратчайшему пути в массиве символов своего типа (заглавные, строчные буквы, цифры, знаки пунктуации и прочие) и останавливается при достижении конечного результата. В результате мы наблюдаем, как из хаоса вращающихся символов постепенно проявляется заданный текст. Демо здесь.

Инструкция по установке:
  1. подключить jQuery
  2. скачать файл плагина (2 кб) или скопировать в примере выше и подключить после jQuery (следите, чтобы русские символы не перекодировались браузером при скачивании)
  3. добавить в html объект, содержащий текст, дата атрибут data-ttt-new с текстом к которому он будет трансформирован. Например:
    Код:

    <div data-ttt-new="Будущий текст">Базовый текст</div>
  4. вызвать плагин TTT на обрабатываемый объект:
$(document).ready(function() {
    $('div').ttt();
});

И все, по стандарту при наведении на этот объект, его текст сменится на новый, а при потере наведения - вернется на исходный, со скоростью 60 fps.

Также существует ряд настроек:
  • задать объект для вызова события: 'btn':'селектор'
  • задать тип события по клику: 'event':'click'
  • скорость смены символов: 'fps':любое число кадров в секунду

Например:
$('div').ttt({
    'btn':'div',
    'event':'click',
    'fps':15
});

Пользовательская функция callback в данной версии не реализована.

Duda.Ml1986@gmail.com 02.10.2014 18:40

Мой плагин

var text = '';

            $('div').on('mouseenter', function(){
                
                text = $(this).html();

                    setTimeout( function() {
                       $(this).html($(this).attr('data-ttt-new'));
                    } , 600)
                
            })

            $('div').on('mouseleave', function(){
               

                    setTimeout( function() {
                         $(this).html(text);
                    } , 600)
            })


Часовой пояс GMT +3, время: 07:36.