Ãœðù - Xakep Online
Ãœðù - Xakep Online
Ãœðù - Xakep Online
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
coding<br />
Постепенное уменьшение прозрачности текста Обычная и нажатая кнопка<br />
Здесь используется классический прием<br />
jQuery — цепочка вызовов. Первой в ней идет<br />
конструкция $(this), обозначающая текущий<br />
элемент, на котором сработало событие — клик<br />
мышкой. Parent() выбирает прямого родителя<br />
(в нашем случае тэг li. children()) и, как несложно<br />
догадаться, служит для получения всех<br />
дочерних элементов. Из них нам надо убрать<br />
слой с классом collapsible, что делает метод<br />
not. Теперь осталось вызвать toggle, который<br />
либо спрячет, либо покажет ветку меню, в зависимости<br />
от ее видимости (смотри рисунок).<br />
Свежие новости<br />
Возможно, этот код покажется тебе несколько<br />
усложненным, но зато мы легко сможем использовать<br />
его и при создании раскрывающихся<br />
новостей. Например, у нас есть заголовки или<br />
краткий вариант сообщения; пользователь щелкает<br />
по нему и получает открывшуюся новость<br />
(смотри рисунок).<br />
Стрелкой я показал, как именно новость будет<br />
открываться. Теперь напишем HTML, который<br />
будет похож на наше меню:<br />
Описание одной новости<br />
HTML<br />
<br />
Заголовок новости <br />
<br />
Текст новости<br />
<br />
<br />
JavaScript будет тем же самым, разве что я<br />
добавлю в него немного наворотов, которые<br />
сделают код более юзабельным. Применим<br />
анимацию «разворачивание», которая реализуется<br />
методом slideToggle с параметром<br />
slow, чтобы действие происходило медленно.<br />
При загрузке страницы свернем все новости и<br />
припишем к заголовку на три символа больше.<br />
На практике эти три символа лучше заменить<br />
картинкой.<br />
СворачиваниЕ/разворачиваниЕ<br />
новостей<br />
JavaScript<br />
$(".collapsible").click(function()<br />
{<br />
$(this).parent().children<br />
().not(".collapsible").<br />
slideToggle("slow");<br />
});<br />
$(".collapsible").parent().<br />
children().not(".collapsible").<br />
hide();<br />
$(".collapsible").append("<br />
>>>");<br />
Анимация<br />
«Что может быть бесполезней, чем всякая<br />
анимация на сайте?» — думал я в детстве.<br />
На первый взгляд подобные мысли кажутся<br />
логичными. Но тогда зачем в состав фреймворка<br />
(каркаса) включили такой функционал?<br />
В нем должно быть только самое нужное, все<br />
остальное надо вынести в плагины! Но если<br />
посмотреть на любой современный динамический<br />
сайт, особенно с применением идеологии<br />
AJAX, то станет понятно, что анимация<br />
может быть и полезна. Когда добавляется<br />
новое сообщение в чате или приходит новое<br />
письмо в почтовой системе, посетителю<br />
надо ясно указать на эти события. Почтовую<br />
систему мы писать не будем, а как работает<br />
метод animate, посмотрим на более простом<br />
примере.<br />
При клике пользователя по кнопке удалим<br />
все параграфы — содержимое тэгов p. Если<br />
вызывать метод hide, то посетитель не поймет,<br />
что произошло («Бац, и все исчезло!»). Мы же<br />
плавно погасим текст, уменьшая (по правде<br />
говоря, увеличивая) его прозрачность (смотри<br />
соответствующий рисунок).<br />
Чтобы использовать метод animate, ему надо<br />
передать два параметра. Первый — это массив<br />
изменяющихся свойств, второй — скорость<br />
изменения:<br />
Анимация: затухание текста<br />
JavaScript<br />
$("#hide").click(function() {<br />
$("p").animate({<br />
opacity: 'hide' }, 5000);<br />
});<br />
Тултипы<br />
В продолжение темы анимации рассмотрим<br />
два специализированных метода — slideDown<br />
и slideUp — для сворачивания и разворачивания<br />
элементов соответственно. Именно при<br />
помощи этих эффектов и будут появляться<br />
наши всплывающие подсказки. Определим,<br />
что тултипом у нас будет элемент, который<br />
следует за ссылкой и имеет класс tooltip.<br />
Подсказка может содержать информацию о<br />
ресурсе, на который она ведет, что поможет<br />
посетителю принять решение о том, стоит ли<br />
по ней переходить. Показывать мы ее будем<br />
при наведенном на ссылку курсоре (смотри<br />
рисунок).<br />
Чтобы обработать событие hover, надо указать две<br />
функции, которые будут вызваны при входе курсора<br />
мышки в область элемента и выходе из нее:<br />
Показываем тултип<br />
JavaScript<br />
$(".tooltip").prev("a").hover(<br />
function() { $(this).next(".<br />
tooltip").slideDown(); },<br />
function() { $(this).next(".<br />
tooltip").slideUp(); }<br />
);<br />
Здесь мы использовали новые методы prev<br />
и next, которые возвращают предыдущий<br />
и последующий элементы соответственно.<br />
Последним будет примечание о необходимости<br />
скрыть все тултипы при загрузке страницы.<br />
Если ты дочитал до этого момента, то знаешь,<br />
как это сделать.<br />
Классы<br />
Переходим к одной из фундаментальных<br />
возможностей в арсенале jQuery — к работе<br />
xàêåð 05 /101/ 07<br />
/<br />
129