Афоризм
Ведь я ж тебя просила мне не сниться.
Последние статьи

 • Активности Android
Многоэкранные Android приложения
 • Fragment dynamic
Динамическая загрузка фрагментов в Android
 • Fragment lifecycle
Жизненный цикл Fragment'ов в Android
 • Fragment example
Пример Fragment'ов в Android
 • Data Binding
Описание и пример Data Binding
 • Пример MVVM
Пример использования MVVM в Android
 • Компонент TreeTable
Описание компонента TreeTable для Swing
 • Пример TreeTable
Пример использования TreeTable
 • Хранилища Android
Внутренние и внешние хранилища данных
 • Пример SQLite
Пример использования SQLite в Android
 • WebSocket
Описание и пример реализации WebSocket
 • Визуальные компоненты
Улучшен компонент выбора даты из календаря
 • Анимация jQuery
Описание и примеры анимации элементов DOM
 • APK-файл Android
Создание apk-файла для android устройств, .dex файлы
 • платформа JaBricks
Платформа OSGi-приложения JaBricks
Поддержка проекта

Если Вам сайт понравился и помог, то будем признательны за Ваш «посильный» вклад в его поддержку и развитие
 • Yandex.Деньги
  410013796724260

 • Webmoney
  R335386147728
  Z369087728698
Перейти к содержанию jQuery

Базовая анимация библиотекой jQuery

При описании css, действий и модификации WEB-страницы были приведены примеры скрытия и отображения элементов объектной модели документа DOM, а также изменения их стиля представления. В данной статье рассмотрим следующие базовые методы анимации, которые позвляют оживить WEB-страницу :

Изменение прозрачности элементов методами fadeIn и fadeOut

Самыми распространенными методами jQuery для плавного изменения прозрачности элемента являются методы fadeIn и fadeOut. Метод fadeIn сначала размещает элемент на странице с нулевой прозрачностью (невидим), после чего плавно убирает прозрачность, делая видимым. Метод fadeOut «выполняет» обратную функцию – сначала снижает прозрачность элемента, после чего удаляет его со страницы. Таким образом, методы fadeIn и fadeOut дополняют методы show и hide изменением прозрачности. Для того, чтобы использовать данные методы достаточно заменить метод show на fadeIn, метод hide – на fadeOut.


// анимация скрытия сообщения
$('#warning').fadeOut();

// анимация представления сообщения
$('#warning').fadeOut();
 

Существуют и опциональные параметры, определяющие временной промежуток анимации, которые могут быть как целочисленными значениями (милисекунды), так и текстовыми : slow, fast, normal. Следующий блок демонстрирует скрытие и представление Текста второго абзаца методами fadeOut и fadeIn при нажатии на кнопку анимации :

Пример анимации jQuery

Текст первого абзаца.

Текст второго абзаца.

Текст третьего абзаца.

Анимация методом toggle

При описании действий и обработчиков событий был представлен метод toggle, которым можно заменить сразу два метода show и hide. Но метод toggle также можно использовать и для анимации скрытия и представления элемента. Для этого необходимо использовать один из параметров : slow, fast, normal.


$('#message').toggle('slow');
 

Следующие пример плавно скрывает и показывает Предупреждающее сообщение методом toggle :

Пример jQuery, toggle

Предупреждающее сообщение.

Эффект, создаваемый методом toggle, можно также достичь методами slideDown, slideUp, slideToggle, имеющими, после вышесказанного, интуитивно понятные наименования.


$('#message').slideToggle('slow');
 

Говоря о методе toggle, объединяющй в себе методы «скрытия» и «показа» элементов DOM,необходимо добавить, что в библиотеке jQuery имеется метод toggleClass, который позволяет добавить css-class к элементу, если у него данный класс отсутствует, либо удалить класс, если он присутствует. Пример использования toggleClass представлен ниже, при описании спойлера.

Функция обратного вызова, callback

Многие методы, представленные выше, поддерживают в качестве второго параметра некоторый код, называемый функцией обратного вызова callback. Данные функции вызываются сразу же после завершения действия родительского метода, т.е. после завершения анимационного эффекта. Пример callback :


$('#message').slideToggle('slow', function() {
    alert('Действие функции slideToggle завершено!');
});
 

В представленном примере callback передается в качестве второго параметра методу slideToggle в виде анонимной функции function. Рассмотрим следующий пример : на странице размещаем сообщение с кнопкой, при нажатии на которую сначала плавно скрывается «Предупреждающее сообщение» методом fadeOut. Вторым параметром методу fadeOut передается callback-функция, которая вызывается после скрытия сообщения, чтобы также плавно убрать со страницы кнопку.


<h4>Пример скрытия сообщения и кнопки методом fadeOut</h4>
<p id="msgFadeOut">Предупреждающее сообщение.</p>

<script type="text/javascript">
  $(document).ready(function() {
      $('#btnFadeOut').click(function() {
        $('#msgFadeOut').fadeOut('slow', function() {
           $('#btnFadeOut').fadeOut('slow');
        });
    });
  });
</script>
 

Ниже представлен блок с реализованным примером, описанным выше. При нажатии на кнопку со странице будут удалены последовательно сообщение и кнопка :

Пример скрытия сообщения и кнопки методом fadeOut

Предупреждающее сообщение.

Подсветка элементов при наведении на них указателя мыши

Методы mouseover и mouseout библиотеки jQuery позволяют реализовать подсветку элементов объектной модели документа DOM при наведении на них указателя мыши. Рассмотрим следующий пример :


<h4>Пример подсветки методами mouseover и mouseout</h4>
<p id="hover">Подсвечиваемое сообщение.</p>

<script type="text/javascript">
  $(document).ready(function() {
    $('#hover').mouseover(function() {
        $(this).css('color', '#02f');
    });
    $('#hover').mouseout(function() {
        $(this).css('color', '#000');
    });
  });
</script>
 

$(this) ссылается на выбранный объект, которым в примере является «Подсвечиваемое сообщение», выбираемое селектором $('#hover'). Методы mouseover и mouseout в качестве параметров получают код функций, в которых изменяется стиль сообщения методом css.

Библиотека jQuery содержит метод hover, который объединяет в себе обработчики событий mouseover и mouseout. Отличительной особенностью метода hover является необходимость использования в качестве параметров двух callback-функций :


<script type="text/javascript">
  $(document).ready(function() {
    $('#hover').hover(function() {
        $(this).css('color', '#02f');
      }, function() {
        $(this).css('color', '#000');
    });
  });
</script>
 

Ниже представлен блок с реализованным примером подсветки сообщения. Наведите курсор мыши на текст, чтобы изменить его стиль.

Пример подсветки mouseover и mouseout

Подсвечиваемое сообщение.

Раскрывающийся текст, spoiler

Спойлер – это раскрывающийся блок. Обычно он представляет текстовую ссылку, при нажатии на которую раскрывается ниже расположенный блок с информацией. Конструкция спойлера используется практически на многих сайтах, связанных, чаще всего, с размещением большого объема контента на небольшой площади, либо с блоками вопрос-ответ. Конечно же, для каждого WEB-мастера умение использовать спойлеры имеет очень важное значение.

Библиотека jQuery предоставляет простое решение создания на WEB-странице спойлера. Рассмотрим код следующего примера, реализация которого представлена ниже :

<h4 id="spoiler-title">Раскрыть текст</h4>
<div id="spoiler-body" 
     style="font-style:italic">Текст под спойлером</div>

<script type="text/javascript">
$(document).ready(function() {
   $('#spoiler-body').hide();

   $('#spoiler-title').click(function(){
      $('#spoiler-title').toggleClass("show");

      $(this).next().slideToggle(500, function() {
         if ($('#spoiler-title').hasClass('show'))
             $('#spoiler-title').text('Срыть текст');
         else
             $('#spoiler-title').text('Раскрыть текст');
      });
   });
});
</script>
 

На странице размещается только одна видимая строка – заголовок <h4> с id="spoiler-title" –, предлагающая раскрыть текст, размещенный под ней. Раскрывающийся «Текст под спойлером», имеющий идентификатор id="spoiler-body", скрывается со страницы методом hide в скриптовом блоке (разовое действие). К заголовку подключена функция, в которой выполняется несколько действий :

  1. Методом toggleClass к заголовку добавляется класс show, который, при повторном нажатии курсором мыши на заголовок, удаляется.
  2. Методом slideToggle элемент «Текста под спойлером» последовательно отображается на странице, и, при повторном нажатии, убирается со страницы. Селектор функции $(this) «привязан» к заголовку, а метод next переводит его на следующий элемент, т.е. на текст под заголовком.
  3. Анонимная callback-функция метода slideToggle предназначена для изменения текста заголовка в зависимости от видимости текста под спойлером, определяемого наличием класса show. Таким образом, класс show выполняет подыгрывающую функцию определения видимости текста. Для изменения текста заголовка используется метод text, описание которого представлено на странице модификации WEB-страницы библиотекой jQuery.

Ниже представлен блок с реализованным примером спойлера. В заголовок добавлен css-стиль (style="cursor:pointer;color:#24f;text-decoration:underline"), чтобы он имел вид ссылки :

Раскрыть текст

Текст под спойлером

Продолжение описания анимации библиотекой jQuery связано с методом animate.

Связанные страницы

Описание библиотеки jQuery
Выбор элементов из объектной модели документа DOM
Фильтрация наборов и поиск элементов jQuery методами filter, find
Метод анимации animate библиотеки jQuery
Выскакивающие панели и опции метода animate
  Рейтинг@Mail.ru