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 в скриптовом блоке (разовое действие). К заголовку подключена функция, в которой выполняется несколько действий :
Ниже представлен блок с реализованным примером спойлера. В заголовок добавлен css-стиль (style="cursor:pointer;color:#24f;text-decoration:underline"), чтобы он имел вид ссылки : Раскрыть текстТекст под спойлером
Продолжение описания анимации библиотекой jQuery связано с методом animate. Связанные страницыОписание библиотеки jQueryВыбор элементов из объектной модели документа DOM Фильтрация наборов и поиск элементов jQuery методами filter, find Метод анимации animate библиотеки jQuery Выскакивающие панели и опции метода animate |