<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jQuery и другое... &#187; animate</title>
	<atom:link href="http://www.linkexchanger.su/tag/animate/feed" rel="self" type="application/rss+xml" />
	<link>http://www.linkexchanger.su</link>
	<description>css, html, php, javascript, jQuery, ajax ... - решения, примеры, рецепты</description>
	<lastBuildDate>Sun, 08 Jan 2012 13:25:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Мини фотогалерея из 11 строк кода</title>
		<link>http://www.linkexchanger.su/2009/84.html</link>
		<comments>http://www.linkexchanger.su/2009/84.html#comments</comments>
		<pubDate>Thu, 19 Mar 2009 07:00:11 +0000</pubDate>
		<dc:creator>Gennady</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[animate]]></category>
		<category><![CDATA[анимация]]></category>
		<category><![CDATA[фотогалерея]]></category>

		<guid isPermaLink="false">http://www.linkexchanger.su/2009/84.html</guid>
		<description><![CDATA[Собственно я не собирался делать вообще никаких галерей. Просто как обычно отметил для себя довольно часто повторяющийся вопрос &#8211; как заставить картинку плавно появиться после ее окончательной загрузки? В общем это не очень сложно, но чтобы придать примеру какую-то практическую пользу я покажу как сделать из этого простенькую мини фотогалерею. Основное ее достоинство в том, [...]]]></description>
			<content:encoded><![CDATA[<p>Собственно я не собирался делать вообще никаких галерей. Просто как обычно отметил для себя довольно часто повторяющийся вопрос &#8211; как заставить картинку плавно появиться после ее окончательной загрузки? В общем это не очень сложно, но чтобы придать примеру какую-то практическую пользу я покажу как сделать из этого простенькую мини фотогалерею. Основное ее достоинство в том, что она реализована всего одиннадцатью строками кода, но думаю многим сможет пригодиться, поскольку не всегда бывает нужна мощная функциональность таких галерей как LightBox или FancyBox.<span id="more-84"></span></p>
<p>Начинаем с само собой разумеющегося &#8211;  подключаем библиотеку jQuery:</p>
<pre class="brush: xml;">&lt;script src=&quot;js/jquery-1.3.1.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</pre>
<p>Постараемся не вносить в HTML-разметку лишних идентификаторов, имен классов, попробуем обойтись минимумом. Для выстраивания миниатюр используем ненумерованный список <strong>ul</strong>, в каждом элементе <strong>li</strong> которого и будет содержаться миниатюра. Миниатюре &#8211; тэгу <strong>img</strong>, добавим атрибут <strong>alt</strong>, в который напишем комментарий к фотографии. Картинку-миниатюру заключим в тэг <strong>a</strong>, атрибут <strong>href</strong> которого будет указывать на полноразмерную фотографию. С миниатюрами все. Добавим в HTML-разметку элемент <strong>div</strong>, в который будем загружать полноразмерные изображения при клике на соответствующую миниатюру и вот ему пожалуй придется присвоить идентификатор <strong>#imgHolder</strong>. Получилась вот такая простенькая разметка:</p>
<pre class="brush: xml;">
&lt;ul&gt;
  &lt;li&gt;
    &lt;a href=&quot;max/1.jpg&quot;&gt;
      &lt;img src=&quot;min/1.jpg&quot; alt=&quot;Офигительный жучила...&quot; /&gt;
    &lt;/a&gt;
  &lt;/li&gt;
  .......
  &lt;li&gt;
    &lt;a href=&quot;max/7.jpg&quot;&gt;
      &lt;img src=&quot;min/7.jpg&quot; alt=&quot;Гадина какая-то страшная...&quot; /&gt;
    &lt;/a&gt;
  &lt;/li&gt;
&lt;/ul&gt;
&lt;div id=&quot;imgHolder&quot;&gt;&lt;/div&gt;
</pre>
<p>С помощью CSS оформляем разметку так, как нам понравится.</p>
<pre class="brush: css;">
img { border:none; }
ul { margin:0; padding:0; list-style:none; }
ul li { display:inline; }
#imgHolder {
  position:relative;
  width:800px; height:600px;
  overflow:hidden;
}
#imgHolder em {
  position:absolute;
  left:10px; bottom:10px;
  margin:2px 10px; padding:2px 10px;
  background-color:#000;   color:#fff;
}</pre>
<p>В примере &#8211; не показываем рамку у изображений, для списка задаем нулевые значения полей и отступов, для элементов <strong>li</strong> устанавливаем свойству <strong>display</strong> значение <strong>inline</strong>, вытягивая таким образом список в строку. Зададим блоку <strong>#imgHolder</strong> ширину, высоту и на всякий случай свойству <strong>overflow</strong> присвоим значение <strong>hidden</strong>. Позиционируем элемент <strong>em</strong> внутри <strong>div</strong>&#8216;а абсолютно (сюда будем выводить комментарии к фотографиям) и оформим его соответствующим образом.</p>
<p>Осталось самое главное &#8211; эти одиннадцать строк кода, которые заставят работать эту конструкцию. Вот эти строки:</p>
<pre class="brush: jscript;">
$('ul img').click(function(){
  var path = $(this).parent().attr('href');
  var alt = $(this).attr('alt');
  $('#imgHolder').animate({opacity: 0},1000,function(){
    $(this).html('&lt;img src=' + path + ' /&gt;').find('img').bind('load',function(){
      $(this).parent().append('&lt;em&gt;' + alt + '&lt;/em&gt;').animate({opacity: 1},1000);
    });
  });
  return false;
});
$('ul img:first').click();
</pre>
<p>Давайте подробно, строка за строкой разберемся, что мы тут наделали.</p>
<p>При загрузке страницы, вернее при наступлении момента готовности DOM (кусок кода с $(document).ready() опущен) мы выбираем все элементы <strong>img</strong>, которые являются потомками элементов <strong>ul</strong>. Есть у нас такие? Да, есть &#8211; это картинки-миниатюры. Связываем с этим набором элементов событие <strong>click</strong>, при наступлении которого выполним некоторую функцию.</p>
<p>Что же будет делать эта функция? Для начала определяем пару переменных. <strong>path</strong> &#8211; здесь мы запомним значение атрибута <strong>href</strong> элемента, который является предком картинки-миниатюры, т.е. элемента <strong>a</strong>. <strong>alt</strong> &#8211; сюда поместим содержимое атрибута <strong>alt</strong> самой картинки-миниатюры, чтобы впоследствии вывести его в качестве комментария к полноразмерному изображению.</p>
<p>Дальше начинается самое интересное &#8211; с помощью метода <strong>animate()</strong> мы в течение 1000 мс плавно скроем элемент <strong>div</strong> с идентификатором <strong>#imgHolder</strong> через задание значения 0 его CSS-свойству <strong>opacity</strong>. И как только это произойдет начнем действовать дальше, указав в третьем параметре метода <strong>animate()</strong> callback-функцию, которая будет вызвана в этот момент.</p>
<p>Внутри этой функции <strong>this</strong> ссылается на элемент <strong>div</strong> с идентификатором <strong>#imgHolder</strong>. Помня это обстоятельство, помещаем в этот элемент <strong>div</strong> фрагмент html-кода, описывающий элемент <strong>img</strong> &#8211; полноразмерную картинку. В атрибуте <strong>src</strong> которой указываем путь, сохраненный ранее в переменной <strong>path</strong>. Следуя далее по цепочке вызовов, отыскиваем только что добавленный элемент с помощью метода <strong>find()</strong> и используя метод <strong>bind()</strong>, связываем еще одну callback-функцию c событием <strong>load</strong> &#8211; с моментом загрузки полноразмерного изображения.</p>
<p>Внутри этой функции <strong>this</strong> указывает уже на большую картинку, поэтому мы отыскиваем ее родителя (элемент <strong>div</strong> <strong>#imgHolder</strong>) и используя <strong>append()</strong> добавляем туда <strong>em</strong> с комментарием, который предусмотрительно сохранили в переменной <strong>alt</strong>. После этого вновь используем метод <strong>animate()</strong>, но уже для того, чтобы плавно, в течение 1 секунды показать элемент <strong>div #imgHolder</strong> с уже загруженной полноразмерной фотографией, устанавливая CSS-свойству <strong>opacity</strong> значение 1.</p>
<p><strong>return false</strong> служит для того, чтобы предотвратить стандартные действия браузера (т.е. переход по ссылке) при клике на элементе <strong>a</strong>.</p>
<p>Осталась только самая последняя строка кода, которая служит для того, чтобы при загрузке страницы подгрузить в <strong>#imgHolder</strong> полноразмерную фотографию с помощью эмуляции события <strong>click</strong> на первой картинке-миниатюре.</p>
<p>Проверил и убедился, что все работает в в FF2 и 3, Opera9, IE6 и 7, Google Chrome.</p>
<blockquote><p>Вы можете <a href="http://www.linkexchanger.su/example_misc/gallery/" target="_blank">открыть пример</a> в новом окне, испытать его и посмотреть полный исходный код. Вы можете <a href="http://www.linkexchanger.su/example_misc/gallery/gallery.zip">скачать</a> архив, который содержит все файлы примера.</p></blockquote>
<p>Предупреждая вопросы насчет всяких стрелочек вперед &#8211; назад и прочих штучек, хочу сразу напомнить, что это всего лишь пример, с помощью которого я стараюсь объяснить, как плавно скрыть и не менее плавно показать большую картинку только после ее окончательной загрузки.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linkexchanger.su/2009/84.html/feed</wfw:commentRss>
		<slash:comments>63</slash:comments>
		</item>
		<item>
		<title>jQuery UI: Effects &#8211; еще о визуальных эффектах.</title>
		<link>http://www.linkexchanger.su/2008/64.html</link>
		<comments>http://www.linkexchanger.su/2008/64.html#comments</comments>
		<pubDate>Wed, 23 Jul 2008 23:00:24 +0000</pubDate>
		<dc:creator>Gennady</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery документация]]></category>
		<category><![CDATA[animate]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[анимация]]></category>
		<category><![CDATA[документация jQuery]]></category>
		<category><![CDATA[эффекты]]></category>

		<guid isPermaLink="false">http://www.linkexchanger.su/2008/64.html</guid>
		<description><![CDATA[Неплохими темпами развивается библиотека jQuery. Разработчики уделили внимание визуальным эффектам пользовательского интерфейса. В результате мы получили файл  effects.core.js, который сам по себе обладает необходимой функциональностью лучших расширений для jQuery, таких как Color Animation, Class Transformation и Advansed Easing и, кроме того, целый набор различных визуальных эффектов, которые могут быть использованы как автономно, так и [...]]]></description>
			<content:encoded><![CDATA[<p>Неплохими темпами развивается <strong>библиотека jQuery</strong>. Разработчики уделили внимание визуальным эффектам пользовательского интерфейса. В результате мы получили файл  <strong>effects.core.js</strong>, который сам по себе обладает необходимой функциональностью лучших расширений для jQuery, таких как Color Animation, Class Transformation и Advansed Easing и, кроме того, целый набор различных визуальных эффектов, которые могут быть использованы как автономно, так и с <strong>show</strong>, <strong>hide</strong>, <strong>toggle</strong>.<span id="more-64"></span></p>
<p>Итак, давайте для начала посмотрим, как могут быть использованы эффекты, а далее я приведу примеры всех доступных эффектов.</p>
<h2 style="color: #cc6600">show(effect, options, [speed], [callback])</h2>
<p>Возвращает: jQuery<br />
Использует эффект для элемента, чтобы <strong>показать</strong> этот элемент, если первый аргумент является строкой с названием соответствующего эффекта.</p>
<p>В примере применяется эффект slide чтобы показать элемент div, если совершен клик на параграфе.</p>
<pre class="brush: jscript;">$(&quot;p&quot;).click(function () {
  $(&quot;div&quot;).show(&quot;slide&quot;, {}, 1000);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects_core/_show.html" style="border: medium none " height="160" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects_core/_show.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>Аргументы:</h3>
<p><strong>effect</strong> &#8211; String &#8211; Название эффекта.<br />
<strong>options</strong> &#8211; Hash &#8211; Объект, состоящий из пар ключ/значение, включающий определение опций для этого эффекта.<br />
<strong>speed (Optional)</strong> &#8211; String, Number &#8211; Строка, представляющая одно из трех предопределенных значений скорости эффекта (&laquo;slow&raquo;, &laquo;normal&raquo;, или &laquo;fast&raquo;) или число миллисекунд, в течение которых выполняется анимация (например 1000).<br />
<strong>callback (Optional)</strong> &#8211; Function &#8211; Функция, которая может быть вызвана при завершении эффекта.</p>
<h2 style="color: #cc6600">hide(effect, options, [speed], [callback])</h2>
<p>Возвращает: jQuery<br />
Использует эффект для элемента, чтобы <strong>скрыть</strong> этот элемент, если первый аргумент является строкой с названием соответствующего эффекта.</p>
<p>В примере применяется эффект slide чтобы скрыть элемент div, если совершен клик на параграфе.</p>
<pre class="brush: jscript;">$(&quot;p&quot;).click(function () {
  $(&quot;div&quot;).hide(&quot;slide&quot;, {}, 1000);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects_core/_hide.html" style="border: medium none " height="160" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects_core/_hide.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>Аргументы:</h3>
<p><strong>effect</strong> &#8211; String &#8211; Название эффекта.<br />
<strong>options</strong> &#8211; Hash &#8211; Объект, состоящий из пар ключ/значение, включающий определение опций для этого эффекта.<br />
<strong>speed (Optional)</strong> &#8211; String, Number &#8211; Строка, представляющая одно из трех предопределенных значений скорости эффекта (&laquo;slow&raquo;, &laquo;normal&raquo;, или &laquo;fast&raquo;) или число миллисекунд, в течение которых выполняется анимация (например 1000).<br />
<strong>callback (Optional)</strong> &#8211; Function &#8211; Функция, которая может быть вызвана при завершении эффекта.</p>
<h2 style="color: #cc6600">toggle(effect, options, [speed], [callback])</h2>
<p>Возвращает: jQuery<br />
Использует эффект для элемента, чтобы <strong>переключать</strong> этот элемент, если первый аргумент является строкой с названием соответствующего эффекта.</p>
<p>В примере применяется эффект slide чтобы переключать элемент div, если совершен клик на параграфе.</p>
<pre class="brush: jscript;">$(&quot;p&quot;).click(function () {
  $(&quot;div&quot;).toggle(&quot;slide&quot;, {}, 1000);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects_core/_toggle.html" style="border: medium none " height="160" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects_core/_toggle.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>Аргументы:</h3>
<p><strong>effect</strong> &#8211; String &#8211; Название эффекта.<br />
<strong>options</strong> &#8211; Hash &#8211; Объект, состоящий из пар ключ/значение, включающий определение опций для этого эффекта.<br />
<strong>speed (Optional)</strong> &#8211; String, Number &#8211; Строка, представляющая одно из трех предопределенных значений скорости эффекта (&laquo;slow&raquo;, &laquo;normal&raquo;, или &laquo;fast&raquo;) или число миллисекунд, в течение которых выполняется анимация (например 1000).<br />
<strong>callback (Optional)</strong> &#8211; Function &#8211; Функция, которая может быть вызвана при завершении эффекта.</p>
<h2 style="color: #cc6600">effect(effect, options, [speed], [callback])</h2>
<p>Возвращает: jQuery<br />
Использует эффект для элемента (без использования логики show/hide).</p>
<p>В примере применяется эффект explode, если на элементе совершен клик.</p>
<pre class="brush: jscript;">$(&quot;div&quot;).click(function () {
  $(this).effect(&quot;explode&quot;, {}, 1000);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects_core/_effect.html" style="border: medium none " height="160" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects_core/_effect.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>Аргументы:</h3>
<p><strong>effect</strong> &#8211; String &#8211; Название эффекта.<br />
<strong>options</strong> &#8211; Hash &#8211; Объект, состоящий из пар ключ/значение, включающий определение опций для этого эффекта.<br />
<strong>speed (Optional)</strong> &#8211; String, Number &#8211; Строка, представляющая одно из трех предопределенных значений скорости эффекта (&laquo;slow&raquo;, &laquo;normal&raquo;, или &laquo;fast&raquo;) или число миллисекунд, в течение которых выполняется анимация (например 1000).<br />
<strong>callback (Optional)</strong> &#8211; Function &#8211; Функция, которая может быть вызвана при завершении эффекта.</p>
<p>Мы узнали как можно использовать эффекты, но пока использовали только парочку из них. Давайте теперь подробнее познакомимся с перечнем эффектов и узнаем, какие из них можно использовать автономно, а какие можно применять с show, side и toggle.<br />
Разумеется для начала нам потребуется подключить файл библиотеки jQuery, файл effects.core.js и файл нужного эффекта. Выглядеть это будет примерно так:</p>
<pre class="brush: jscript;">&lt;script src=&quot;js/jquery-1.2.6.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;js/effects.core.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
// подключаем файл нужного эффекта
&lt;script src=&quot;js/effects.bounce.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</pre>
<p>Познакомимся сначала с эффектами, которые можно использовать автономно (без логики show/hide). Таких эффектов четыре &#8211; <strong>bounce</strong>, <strong>highlight</strong>, <strong>shake</strong>, <strong>transfer</strong>.</p>
<h2 style="color: #cc6600">Bounce</h2>
<pre class="brush: jscript;">$(&quot;#div1&quot;).click(function () {
  $(this).effect(&quot;bounce&quot;, { times: 3 }, 300);
});
$(&quot;#div2&quot;).click(function () {
  $(this).effect(&quot;bounce&quot;, { times: 7,
      direction: 'right',
      distance: 50 }, 300);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects_core/bounce.html" style="border: medium none " height="160" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects_core/bounce.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>Опции:</h3>
<p><strong>direction</strong> &#8211; String &#8211; по умолчанию: up<br />
&laquo;up&raquo;, &laquo;down&raquo;, &laquo;left&raquo;, &laquo;right&raquo;<br />
<strong>distance</strong> &#8211; Integer &#8211; по умолчанию: 20<br />
расстояние в пикселах<br />
<strong>times</strong> &#8211; Integer &#8211; по умолчанию: 5<br />
количество раз</p>
<h2 style="color: #cc6600">Highlight</h2>
<pre class="brush: jscript;">$(&quot;#div1&quot;).click(function () {
  $(this).effect(&quot;highlight&quot;, {}, 1000);
});
$(&quot;#div2&quot;).click(function () {
  $(this).effect(&quot;highlight&quot;, {color: '#ff0000'}, 500);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects_core/highlight.html" style="border: medium none " height="160" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects_core/highlight.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>Опции:</h3>
<p><strong>color</strong> &#8211; String &#8211; по умолчанию: #ffff99<br />
цвет подсветки</p>
<h2 style="color: #cc6600">Shake</h2>
<pre class="brush: jscript;">$(&quot;#div1&quot;).click(function () {
  $(this).effect(&quot;shake&quot;, { times: 3 }, 300);
});
$(&quot;#div2&quot;).click(function () {
  $(this).effect(&quot;shake&quot;, {
      times: 4,
      direction: 'down',
      distance: 10 }, 300);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects_core/shake.html" style="border: medium none " height="160" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects_core/shake.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>Опции:</h3>
<p><strong>direction</strong> &#8211; String &#8211; по умолчанию: left<br />
&laquo;up&raquo;, &laquo;down&raquo;, &laquo;left&raquo;, &laquo;right&raquo;<br />
<strong>distance</strong> &#8211; Integer &#8211; по умолчанию: 20<br />
расстояние в пикселах<br />
<strong>times</strong> &#8211; Integer &#8211; по умолчанию: 3<br />
количество раз</p>
<h2 style="color: #cc6600">Transfer</h2>
<pre class="brush: jscript;">$(&quot;div.green1&quot;).click(function () {
  $(this).effect(&quot;transfer&quot;, { to: &quot;div.red&quot; }, 2000);
});
$(&quot;div.green2&quot;).click(function () {
  $(this).effect(&quot;transfer&quot;, { className: &quot;transfer2&quot;,
      to: &quot;div.red&quot; }, 800);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects_core/transfer.html" style="border: medium none " height="160" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects_core/transfer.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>Опции:</h3>
<p><strong>className</strong> &#8211; String<br />
Имя класса (опционально), которое можно назначить отображению трансформируемого элемента вместо стандартного &laquo;ui-effects-transfer&raquo;.<br />
<strong>to</strong> &#8211; String<br />
jQuery селектор, определяющий элемент в который происходит трансформация.</p>
<p>Ну а теперь перечислим эффекты, которые можно использовать вместе с Show/Hide/Toggle:</p>
<h2 style="color: #cc6600">Blind</h2>
<pre class="brush: jscript;">$(&quot;#div1&quot;).click(function () {
  $(this).hide(&quot;blind&quot;, {direction:&quot;vertical&quot;}, 1000);
});
$(&quot;#div2&quot;).click(function () {
  $(this).hide(&quot;blind&quot;, {direction:&quot;horizontal&quot;}, 1000);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects_core/blind.html" style="border: medium none " height="160" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects_core/blind.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>Опции:</h3>
<p><strong>direction</strong> &#8211; String &#8211; по умолчанию: vertical<br />
&laquo;vertical&raquo; или &laquo;horizontal&raquo;</p>
<h2 style="color: #cc6600">Clip</h2>
<pre class="brush: jscript;">$(&quot;#div1&quot;).click(function () {
  $(this).hide(&quot;clip&quot;, {direction:&quot;vertical&quot;}, 1000);
});
$(&quot;#div2&quot;).click(function () {
  $(this).hide(&quot;clip&quot;, {direction:&quot;horizontal&quot;}, 1000);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects_core/clip.html" style="border: medium none " height="160" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects_core/clip.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>Опции:</h3>
<p><strong>direction</strong> &#8211; String &#8211; по умолчанию: vertical<br />
&laquo;vertical&raquo; или &laquo;horizontal&raquo;</p>
<h2 style="color: #cc6600">Drop</h2>
<pre class="brush: jscript;">$(&quot;#div1&quot;).click(function () {
  $(this).hide(&quot;drop&quot;, { direction: &quot;left&quot; }, 1000);
});
$(&quot;#div2&quot;).click(function () {
  $(this).hide(&quot;drop&quot;, { direction: &quot;down&quot; }, 1000);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects_core/drop.html" style="border: medium none " height="160" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects_core/drop.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>Опции:</h3>
<p><strong>direction</strong> &#8211; String &#8211; по умолчанию: left<br />
&laquo;left&raquo;, &laquo;right&raquo;, &laquo;up&raquo;, &laquo;down&raquo;</p>
<h2 style="color: #cc6600">Explode</h2>
<pre class="brush: jscript;">$(&quot;#div1&quot;).click(function () {
  $(this).hide(&quot;explode&quot;, {}, 1000);
});
$(&quot;#div2&quot;).click(function () {
  $(this).hide(&quot;explode&quot;, { pieces: 25 }, 1000);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects_core/explode.html" style="border: medium none " height="160" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects_core/explode.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>Опции:</h3>
<p><strong>pieces</strong> &#8211; Integer &#8211; по умолчанию: 9<br />
количество штук.</p>
<h2 style="color: #cc6600">Fold</h2>
<pre class="brush: jscript;">$(&quot;#div1&quot;).click(function () {
  $(this).hide(&quot;fold&quot;, {}, 1000);
});
$(&quot;#div2&quot;).click(function () {
  $(this).hide(&quot;fold&quot;, { size: 50 }, 1000);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects_core/fold.html" style="border: medium none " height="160" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects_core/fold.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>Опции:</h3>
<p><strong>size</strong> &#8211; Integer &#8211; по умолчанию: 15<br />
размер в пикселах.</p>
<h2 style="color: #cc6600">Puff</h2>
<pre class="brush: jscript;">$(&quot;#div1&quot;).click(function () {
  $(this).hide(&quot;puff&quot;, {}, 1000);
});
$(&quot;#div2&quot;).click(function () {
  $(this).hide(&quot;puff&quot;, { percent: 700 }, 1000);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects_core/puff.html" style="border: medium none " height="160" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects_core/puff.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>Опции:</h3>
<p><strong>percent</strong> &#8211; Integer &#8211; по умолчанию: 150<br />
Количество процентов.</p>
<h2 style="color: #cc6600">Slide</h2>
<pre class="brush: jscript;">$(&quot;#div1&quot;).click(function () {
  $(this).hide(&quot;slide&quot;, { direction: &quot;left&quot; }, 1000);
});
$(&quot;#div2&quot;).click(function () {
  $(this).hide(&quot;slide&quot;, { direction: &quot;down&quot; }, 1000);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects_core/slide.html" style="border: medium none " height="160" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects_core/slide.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>Опции:</h3>
<p><strong>direction</strong> &#8211; String &#8211; по умолчанию: left<br />
&laquo;left&raquo;, &laquo;right&raquo;, &laquo;up&raquo;, &laquo;down&raquo;</p>
<h2 style="color: #cc6600">Scale</h2>
<pre class="brush: jscript;">$(&quot;#div0&quot;).click(function () {
  $(this).hide(&quot;scale&quot;, {}, 1000);
});
$(&quot;#div1&quot;).click(function () {
  $(this).effect(&quot;scale&quot;, { percent: 0 }, 1000);
});
$(&quot;#div2&quot;).click(function () {
  $(this).effect(&quot;scale&quot;, {
        percent:200,
        direction:'horizontal'}, 1000);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects_core/scale.html" style="border: medium none " height="160" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects_core/scale.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>Опции:</h3>
<p><strong>direction</strong> &#8211; String &#8211; по умолчанию: both<br />
&#8216;both&#8217;, &#8216;vertical&#8217;, &#8216;horizontal&#8217;<br />
<strong>from</strong> &#8211; Object<br />
Начальное состояние. Обычно не требуется. { height: .., width: .. }<br />
<strong>origin</strong> &#8211; Array &#8211; по умолчанию: ['middle','center']<br />
Точка исчезновения, по умолчанию для show/hide<br />
<strong>percent</strong> &#8211; Integer &#8211; по умолчанию: 0/100<br />
Количество процентов.</p>
<h2 style="color: #cc6600">Pulsate</h2>
<pre class="brush: jscript;">$(&quot;#div1&quot;).click(function () {
  $(this).effect(&quot;pulsate&quot;, { times: 2 }, 1000);
});
$(&quot;#div2&quot;).click(function () {
  $(this).effect(&quot;pulsate&quot;, { times: 9 }, 50);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects_core/pulsate.html" style="border: medium none " height="160" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects_core/pulsate.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>Опции:</h3>
<p><strong>times</strong> &#8211; Integer &#8211; по умолчанию: 5<br />
Количество пульсаций.</p>
<blockquote><p>Все использованные в примерах файлы, как и файл <strong>effects.core.js</strong> можно скачать в разделе <strong><a href="http://www.linkexchanger.su/download">download</a></strong>.</p></blockquote>
<p>Надеюсь, что эта статья принесет пользу и поможет многим сделать свои приложения более динамичными.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linkexchanger.su/2008/64.html/feed</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>jQuery API: Effects &#8211; эффекты.</title>
		<link>http://www.linkexchanger.su/2008/61.html</link>
		<comments>http://www.linkexchanger.su/2008/61.html#comments</comments>
		<pubDate>Thu, 26 Jun 2008 01:02:54 +0000</pubDate>
		<dc:creator>Gennady</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery документация]]></category>
		<category><![CDATA[animate]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[анимация]]></category>
		<category><![CDATA[документация jQuery]]></category>
		<category><![CDATA[эффекты]]></category>

		<guid isPermaLink="false">http://www.linkexchanger.su/2008/61.html</guid>
		<description><![CDATA[Сегодня разберем еще один раздел документации jQuery &#8211; раздел, посвященный анимационным эффектам, которые можно создавать с помощью этой библиотеки. Тема довольно большая, но я не стал разбивать ее на несколько статей, потому что интереснее узнать все сразу. Много примеров, которые подгружаются во фреймах, поэтому будьте терпеливы&#8230;
Basics:
show()
возвращает: jQuery
Отображает каждый из элементов набора, если они были скрыты [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня разберем еще один раздел <strong>документации jQuery</strong> &#8211; раздел, посвященный анимационным эффектам, которые можно создавать с помощью этой библиотеки. Тема довольно большая, но я не стал разбивать ее на несколько статей, потому что интереснее узнать все сразу. Много примеров, которые подгружаются во фреймах, поэтому будьте терпеливы&#8230;<span id="more-61"></span></p>
<h2 style="color: #cc6600">Basics:</h2>
<h3>show()</h3>
<p>возвращает: jQuery<br />
Отображает каждый из элементов набора, если они были скрыты через вызов hide() или через display:none в таблице стилей. Действует подобно show(speed,[callback]), только без анимационных эффектов. Если элемент не был скрыт, то ничего не происходит.</p>
<p>Показываем все параграфы, которые были скрыты.</p>
<pre class="brush: jscript;">$(&quot;p&quot;).show();</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/show.html" style="border: medium none " height="60" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/show.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>show(speed, [callback])</h3>
<p>возвращает: jQuery<br />
Отображает все элементы набора с использованием анимационных эффектов. Опционально в аргументе callback может быть передана функция, которая будет вызвана по завершении анимации. Высота, ширина и прозрачность каждого элемента набора может быть изменена динамически, с определенной скоростью.</p>
<p>Показываем все скрытые параграфы. Используем в качестве параметра ключевое слово slow. При этом анимация выполняется в течение 600 миллисекунд.</p>
<pre class="brush: jscript;">$(&quot;button&quot;).click(function () {
  $(&quot;p&quot;).show(&quot;slow&quot;);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/show_speed.html" style="border: medium none " height="100" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/show_speed.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p>Показываем все скрытые элементы div по порядку, используя ключевое слово fast. Каждая анимация занимает 200 миллисекунд и по завершении очередной стартует следующая.</p>
<pre class="brush: jscript;">$(&quot;#showr&quot;).click(function () {
  $(&quot;div:eq(0)&quot;).show(&quot;fast&quot;, function () {
    // use callee so don't have to name the function
    $(this).next().show(&quot;fast&quot;, arguments.callee);
  });
});
$(&quot;#hidr&quot;).click(function () {
  $(&quot;div&quot;).hide(2000);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/show_speed_callback.html" style="border: medium none " height="100" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/show_speed_callback.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p>Аргумент <strong>speed</strong> &#8211; строка или число. Если передается строка, она может принимать предопределенные значения &#8211; &laquo;slow&raquo;, &laquo;normal&raquo; или &laquo;fast&raquo;. Число &#8211; длительность эффекта в миллисекундах, например 1000.<br />
Аргумент <strong>callback</strong> &#8211; функция, вызываемая по завершении эффекта. Выполняется один раз для каждого элемента набора.</p>
<h3>hide()</h3>
<p>возвращает: jQuery<br />
Скрывает каждый из элементов набора, если они отображались. Действует подобно hide(speed, [callback]), но без анимационных эффектов. Если элемент был скрыт &#8211; ничего не происходит.<br />
В примере один параграф скрыт изначально, второй &#8211; скрывается кликом по ссылке.</p>
<pre class="brush: jscript;">$(&quot;p&quot;).hide();
$(&quot;a&quot;).click(function () {
  $(this).hide();
  return false;
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/hide.html" style="border: medium none " height="50" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/hide.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>hide(speed, [callback])</h3>
<p>возвращает: jQuery<br />
Скрывает все элементы набора с использованием анимационных эффектов. Опционально в аргументе callback может быть передана функция, которая будет вызвана по завершении анимации. Высота, ширина и прозрачность каждого элемента набора может быть изменена динамически, с определенной скоростью.</p>
<p>Скрываем все видимые параграфы. Используем в качестве параметра ключевое слово slow. При этом анимация выполняется в течение 600 миллисекунд.</p>
<pre class="brush: jscript;">$(&quot;button&quot;).click(function () {
  $(&quot;p&quot;).hide(&quot;slow&quot;);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/hide_speed.html" style="border: medium none " height="150" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/hide_speed.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p>Кликом по кнопке Hide, скрываем все элементы span по порядку, используя ключевое слово fast. Каждая анимация занимает 200 миллисекунд и по завершении очередной стартует следующая.</p>
<pre class="brush: jscript;">$(&quot;#hidr&quot;).click(function () {
  $(&quot;span:last-child&quot;).hide(&quot;fast&quot;, function () {
    // use callee so don't have to name the function
    $(this).prev().hide(&quot;fast&quot;, arguments.callee);
  });
});
$(&quot;#showr&quot;).click(function () {
  $(&quot;span&quot;).show(2000);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/hide_speed_callback.html" style="border: medium none " height="100" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/hide_speed_callback.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p>Скрываем элементы div по клику на них в течение 2 секунд и когда элемент уже скрыт, удаляем его. Попробуйте очень быстро покликать по div&#8217;ам.</p>
<pre class="brush: jscript;">for (var i = 0; i &lt; 5; i++) {
  $(&quot;&lt;div&gt;&quot;).appendTo(document.body);
}
$(&quot;div&quot;).click(function () {
  $(this).hide(2000, function () {
    $(this).remove();
  });
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/hide_speed_callback2.html" style="border: medium none " height="100" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/hide_speed_callback2.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p>Аргумент <strong>speed</strong> &#8211; строка или число. Если передается строка, она может принимать предопределенные значения &#8211; &laquo;slow&raquo;, &laquo;normal&raquo; или &laquo;fast&raquo;. Число &#8211; длительность эффекта в миллисекундах, например 1000.<br />
Аргумент <strong>callback</strong> &#8211; функция, вызываемая по завершении эффекта. Выполняется один раз для каждого элемента набора.</p>
<h3>toggle()</h3>
<p>возвращает: jQuery<br />
Переключает отображение каждого из элементов набора. Если они были скрыты &#8211; отображает их и наоборот.</p>
<p>Переключаем параграфы с помощью кнопки.</p>
<pre class="brush: jscript;">$(&quot;button&quot;).click(function () {
  $(&quot;p&quot;).toggle();
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/toggle.html" style="border: medium none " height="100" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/toggle.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h2 style="color: #cc6600">Sliding:</h2>
<h3>slideDown(speed, [callback])</h3>
<p>возвращает: jQuery<br />
Открывает все элементы набора, используя изменение высоты элементов. Опционально в аргументе callback может быть передана функция, которая будет вызвана по завершении анимации.</p>
<p>Открываем все элементы input, используя эффект &laquo;скольжения вниз&raquo;. Время анимации 1000 мс. Как только анимация выполнена &#8211; вызывается функция, которая изменяет некоторые css-свойства элементов input. А в особенности среднего элемента, которому передается фокус.</p>
<pre class="brush: jscript;">$(&quot;div&quot;).click(function () {
  $(this).css({ borderStyle:&quot;inset&quot;, cursor:&quot;wait&quot; });
  $(&quot;input&quot;).slideDown(1000,function(){
    $(this).css(&quot;border&quot;, &quot;2px red inset&quot;)
           .filter(&quot;.middle&quot;)
           .css(&quot;background&quot;, &quot;yellow&quot;)
           .focus();
    $(&quot;div&quot;).css(&quot;visibility&quot;, &quot;hidden&quot;);
  });
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/slidedown_speed_callback.html" style="border: medium none " height="100" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/slidedown_speed_callback.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p>Открываем, &laquo;скользя вниз&raquo;, все элементы div. Для задания времени используем ключевое слово &laquo;slow&raquo;, т.е. открываем медленно.</p>
<pre class="brush: jscript;">$(document.body).click(function () {
  if ($(&quot;div:first&quot;).is(&quot;:hidden&quot;)) {
    $(&quot;div&quot;).slideDown(&quot;slow&quot;);
  } else {
    $(&quot;div&quot;).hide();
  }
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/slidedown_speed_callback2.html" style="border: medium none " height="100" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/slidedown_speed_callback2.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p><strong>slideDown</strong> принимает те же аргументы, что и <strong>show</strong> или <strong>hide</strong>.</p>
<h3>slideUp(speed, [callback])</h3>
<p>возвращает: jQuery<br />
Скрывает все элементы набора, используя изменение высоты элементов. Опционально в аргументе callback может быть передана функция, которая будет вызвана по завершении анимации.</p>
<p>Скрываем все параграфы, используя эффект &laquo;скольжения вверх&raquo;. Время анимации 2000 мс. Как только анимация выполнена &#8211; вызывается функция, которая покажет сообщение о том, какой именно параграф был скрыт.</p>
<pre class="brush: jscript;">$(&quot;button&quot;).click(function () {
  $(this).parent().slideUp(&quot;slow&quot;, function () {
    $(&quot;#msg&quot;).text($(&quot;button&quot;, this)
    .text() + &quot; - сделано!&quot;);
  });
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/slideup_speed_callback.html" style="border: medium none " height="100" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/slideup_speed_callback.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p>Скрываем, &laquo;скользя вверх&raquo;, все элементы div. Время не задаем. По умолчанию эффект будет выполнен примерно за 400 мс.</p>
<pre class="brush: jscript;">$(document.body).click(function () {
  if ($(&quot;div:first&quot;).is(&quot;:hidden&quot;)) {
    $(&quot;div&quot;).show(&quot;slow&quot;);
  } else {
    $(&quot;div&quot;).slideUp();
  }
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/slideup_speed_callback2.html" style="border: medium none " height="100" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/slideup_speed_callback2.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p><strong>slideUp</strong> принимает те же аргументы, что и <strong>show</strong> или <strong>hide</strong>.</p>
<h3>slideToggle(speed, [callback])</h3>
<p>возвращает: jQuery<br />
Переключает видимость всех элементов набора, используя изменение высоты элементов. Опционально в аргументе callback может быть передана функция, которая будет вызвана по завершении анимации.</p>
<p>Скрываем и отображаем все параграфы.</p>
<pre class="brush: jscript;">$(&quot;button&quot;).click(function () {
  $(&quot;p&quot;).slideToggle(&quot;slow&quot;);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/slidetoggle_speed_callback.html" style="border: medium none " height="150" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/slidetoggle_speed_callback.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p>Анимируем элементы div, находящиеся между разделителями.</p>
<pre class="brush: jscript;">$(&quot;button&quot;).click(function () {
  $(&quot;div:not(.still)&quot;).slideToggle(&quot;slow&quot;, function () {
    var n = parseInt($(&quot;span&quot;).text(), 10);
    $(&quot;span&quot;).text(n + 1);
  });
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/slidetoggle_speed_callback2.html" style="border: medium none " height="100" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/slidetoggle_speed_callback2.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p><strong>slideToggle</strong> принимает те же аргументы, что и <strong>show</strong> или <strong>hide</strong>.</p>
<h2 style="color: #cc6600">Fading:</h2>
<h3>fadeIn(speed, [callback])</h3>
<p>возвращает: jQuery<br />
Делает видимыми все элементы набора, используя изменение прозрачности элементов. Опционально в аргументе callback может быть передана функция, которая будет вызвана по завершении анимации. Только прозрачность элемента может быть использована для этого эффекта, поэтому &laquo;проявляемый&raquo; элемент уже должен иметь какие-либо размеры, т.е. его высота и ширина должны быть определены.</p>
<p>&laquo;Проявляем&raquo; скрытые элементы div один за другим, каждый раз анимационный эффект занимает время примерно в 600 мс.</p>
<pre class="brush: jscript;">$(document.body).click(function () {
  $(&quot;div:hidden:first&quot;).fadeIn(&quot;slow&quot;);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/fadein_speed_callback.html" style="border: medium none " height="120" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/fadein_speed_callback.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p>&laquo;Проявляем&raquo; красный блок поверх текста. По завершении этой анимации запускается следующий эффект, который &laquo;проявляет&raquo; тэг span.</p>
<pre class="brush: jscript;">$(&quot;a&quot;).click(function () {
  $(&quot;div&quot;).fadeIn(3000, function () {
    $(&quot;span&quot;).fadeIn(100);
  });
  return false;
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/fadein_speed_callback2.html" style="border: medium none " height="150" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/fadein_speed_callback2.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p><strong>fadeIn</strong> принимает те же аргументы, что и <strong>show</strong> или <strong>hide</strong>.</p>
<h3>fadeOut(speed, [callback])</h3>
<p>возвращает: jQuery<br />
Делает невидимыми все элементы набора, используя изменение прозрачности элементов (эффект &laquo;затухания&raquo;). Опционально в аргументе callback может быть передана функция, которая будет вызвана по завершении анимации. Только прозрачность элемента может быть использована для этого эффекта, поэтому скрываемый элемент должен иметь какие-либо размеры, т.е. его высота и ширина должны быть определены.</p>
<p>Скрываем все параграфы, используя эффект &laquo;затухания&raquo;. Продолжительность эффекта примерно 600 мс.</p>
<pre class="brush: jscript;">$(&quot;p&quot;).click(function () {
  $(&quot;p&quot;).fadeOut(&quot;slow&quot;);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/fadeout_speed_callback.html" style="border: medium none " height="150" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/fadeout_speed_callback.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p>Проведите мышью над текстом. Кликните там, где при наведении курсора появится желтый бэкграунд. Это один из нескольких элементов span. По клику на нем он будет скрыт с использованием эффекта &laquo;затухания&raquo;.</p>
<pre class="brush: jscript;">$(&quot;span&quot;).click(function () {
  $(this).fadeOut(1000, function () {
    $(&quot;div&quot;).text(&quot;'&quot; + $(this).text() + &quot;' has faded!&quot;);
    $(this).remove();
  });
});
$(&quot;span&quot;).hover(function () {
    $(this).addClass(&quot;hilite&quot;);
  }, function () {
    $(this).removeClass(&quot;hilite&quot;);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/fadeout_speed_callback2.html" style="border: medium none " height="150" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/fadeout_speed_callback2.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p><strong>fadeOut</strong> принимает те же аргументы, что и <strong>show</strong> или<strong> hide</strong>.</p>
<h3>fadeTo(speed, opacity, [callback])</h3>
<p>возвращает: jQuery<br />
Делает невидимыми все элементы набора, используя изменение прозрачности элементов (эффект &laquo;затухания&raquo;) до величины, указанной во втором аргументе. Опционально в аргументе callback может быть передана функция, которая будет вызвана по завершении анимации. Только прозрачность элемента может быть использована для этого эффекта, поэтому скрываемый элемент должен иметь какие-либо размеры, т.е. его высота и ширина должны быть определены.</p>
<p>Кликом на первом параграфе изменяем его прозрачность до 0.33. Эффект длится примерно 600 мс. Второй параграф не меняет прозрачность.</p>
<pre class="brush: jscript;">$(&quot;p:first&quot;).click(function () {
  $(this).fadeTo(&quot;slow&quot;, 0.33);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/fadeto_speed_callback.html" style="border: medium none " height="120" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/fadeto_speed_callback.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p>Меняем прозрачность элементов div случайным образом. Длительность эффекта примерно 200 мс.</p>
<pre class="brush: jscript;">$(&quot;div&quot;).click(function () {
  $(this).fadeTo(&quot;fast&quot;, Math.random());
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/fadeto_speed_callback2.html" style="border: medium none " height="120" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/fadeto_speed_callback2.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p><strong>fadeTo</strong> принимает те же аргументы, что и <strong>show</strong> или <strong>hide</strong>. И кроме того второй аргумент <strong>opacity</strong> &#8211; число от 0 до 1, характеризующий &laquo;целевую&raquo; прозрачность элемента.</p>
<h2 style="color: #cc6600">Custom:</h2>
<h3>animate(params, [duration], [easing], [callback])</h3>
<p>возвращает: jQuery<br />
Это функция для построения своей, пользовательской анимации. У этой функции один обязательный аргумент, представляющий собой объект состоящий из пар ключ/значение. В качестве ключа выступает CSS-свойство, которое должно быть анимировано (например: &laquo;height&raquo;, &laquo;top&raquo;, or &laquo;opacity&raquo;).</p>
<blockquote><p>Обратите внимание, что свойства должны быть определены с использованием camel case (т.е. например marginLeft вместо margin-left).</p></blockquote>
<p>В качестве значения выступает &laquo;целевое&raquo; значение соответствующего CSS-свойства. Например, если в качестве значения выступает какая-либо цифра, то соответвующее свойство будет трансформировано из своего текущего состояния, в новое состояние.</p>
<blockquote><p>Обратите внимание, что поддерживаются только свойства, имеющие в качестве значения какие-либо числа (или &laquo;hide&raquo;, &laquo;show&raquo;, &laquo;toggle&raquo;). Например backgroundColor не поддерживается.</p></blockquote>
<p>Начиная с версии jQuery 1.2 можно определять значения свойств, используя &laquo;em&raquo; или %. Также начиная с версии jQuery 1.2 можно использовать &laquo;относительную&raquo; анимацию, т.е. определять значения соответствующего свойства относительно его текущей позиции (используя &laquo;+=&raquo; или &laquo;-=&raquo;) чтобы передвигать элемент в положительную или отрицательную стороны.<br />
Кликните по кнопке, чтобы запустить анимацию для элемента div.</p>
<pre class="brush: jscript;">$(&quot;#go&quot;).click(function(){
  $(&quot;#block&quot;).animate({
    width: &quot;70%&quot;,
    opacity: 0.4,
    marginLeft: &quot;0.6in&quot;,
    fontSize: &quot;3em&quot;,
    borderWidth: &quot;10px&quot;
  }, 1500 );
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/animate_params.html" style="border: medium none " height="150" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/animate_params.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p>Пример &laquo;относительной&raquo; анимации. Покликайте несколько раз по кнопкам вправо/влево&#8230;</p>
<pre class="brush: jscript;">$(&quot;#right&quot;).click(function(){
  $(&quot;.block&quot;).animate({&quot;left&quot;: &quot;+=50px&quot;}, &quot;slow&quot;);
});
$(&quot;#left&quot;).click(function(){
  $(&quot;.block&quot;).animate({&quot;left&quot;: &quot;-=50px&quot;}, &quot;slow&quot;);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/animate_params2.html" style="border: medium none " height="150" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/animate_params2.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p>Аргументы, принимаемые этой функцией:<br />
<strong>params</strong> &#8211; набор атрибутов стилей, которые Вы хотите анимировать.<br />
<strong>duration (Optional)</strong> &#8211; строка, представляющая собой ключевое слово (&laquo;slow&raquo;, &laquo;normal&raquo;, или &laquo;fast&raquo;) или число, указываюее длительность эффекта в миллисекундах.<br />
<strong>easing (Optional)</strong> &#8211; строка, представляющая собой имя эффекта плагина easing. Имеет два встроенных значения &laquo;linear&raquo; и &laquo;swing&raquo;. Используется только с плагином.<br />
<strong>callback (Optional)</strong> &#8211; функция, которая может быть вызвана по завершении анимации каждого элемента набора.</p>
<h3>animate(params, options)</h3>
<p>возвращает: jQuery<br />
Это функция для построения своей, пользовательской анимации. Аргумент <strong>params</strong> представляет собой объект, состоящий из пар ключ/значение. В качестве ключа выступает CSS-свойство, которое должно быть анимировано (например: &laquo;height&raquo;, &laquo;top&raquo;, или &laquo;opacity&raquo;).</p>
<blockquote><p>Обратите внимание, что свойства должны быть определены с использованием camel case (т.е. например marginLeft вместо margin-left).</p></blockquote>
<p>В качестве значения выступает &laquo;целевое&raquo; значение соответствующего CSS-свойства. Например, если в качестве значения выступает какая-либо цифра, то соответвующее свойство будет трансформировано из своего текущего состояния, в новое состояние. Или же если значение представлено в виде строки (&laquo;hide&raquo;, &laquo;show&raquo;, или &laquo;toggle&raquo;), анимация для этого свойства будет создана со значениями по умолчанию.<br />
Отдельно стоит поговорить об аргументе <strong>options</strong>. В нем также может быть передана длительность соответствующего эффекта анимации (как с использованием числовых значений в миллисекундах, так и с помощью клюючевых слов). Также может быть использовано имя эффекта при использовании плагина easing. С помощью опции <strong>complete</strong> может быть вызвана функция, которая будет выполнена по завершении анимации для каждого элемента набора.<br />
Обязательно надо упомянуть о <strong>queue</strong> (добавлено в jQuery 1.2). Он принимает значения true (по умолчанию) или false. Если установить queue:false, это даст возможность выполнить анимационный эффект вне очереди, параллельно со следующим эффектом (если такой есть конечно).</p>
<p><strong><em>Посмотрите следующий пример &#8211; будет намного понятнее.</em></strong><br />
Первая кнопка как раз демонстрирует пример такой параллельной анимации. Некий элемент с идентификатором #block1 должен изменить свою ширину до 90% от возможной, шрифт должен быть установлен в размер 24px и правая рамка должна стать шириной 15px. Обратите внимание, что изменение ширины происходит одновременно с другими двумя эффектами, которые уже следуют друг за другом в порядке очереди.<br />
Вторая кнопка запускает почти такую же анимацию, вот только все эффекты следуют друг за другом строго по очереди.</p>
<pre class="brush: jscript;">$(&quot;#go1&quot;).click(function(){
  $(&quot;#block1&quot;).animate( { width:&quot;90%&quot; },
             { queue:false, duration:3000 } )
    .animate( { fontSize:&quot;24px&quot; }, 1500 )
    .animate( { borderRightWidth:&quot;15px&quot; }, 1500);
});
$(&quot;#go2&quot;).click(function(){
  $(&quot;#block2&quot;).animate( { width:&quot;90%&quot;}, 1000 )
    .animate( { fontSize:&quot;24px&quot; } , 1000 )
    .animate( { borderLeftWidth:&quot;15px&quot; }, 1000);
});
$(&quot;#go3&quot;).click(function(){
  $(&quot;#go1&quot;).add(&quot;#go2&quot;).click();
});
$(&quot;#go4&quot;).click(function(){
  $(&quot;div&quot;).css({width:&quot;&quot;, fontSize:&quot;&quot;, borderWidth:&quot;&quot;});
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/animate_params_queue.html" style="border: medium none " height="150" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/animate_params_queue.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>stop()</h3>
<p>возвращает: jQuery<br />
Останавливает все выполняющиеся анимационные эффекты для всех элементов набора.</p>
<p>Кликните по кнопке Go, чтобы запустить анимацию. Затем по кнопке Stop, чтобы ее остановить. Ну а клик по кнопке Back запустит другой анимационный эффект &#8211; блок будет двигаться в обратную сторону. Заметьте, что отсчет будет вестить от той позиции в которой блок был остановлен.</p>
<pre class="brush: jscript;">// Запускаем анимацию
$(&quot;#go&quot;).click(function(){
  $(&quot;.block&quot;).animate({left: '+=100px'}, 2000);
});
// Останавливаем анимацию
$(&quot;#stop&quot;).click(function(){
  $(&quot;.block&quot;).stop();
});
// Запускаем в другом направлении
$(&quot;#back&quot;).click(function(){
  $(&quot;.block&quot;).animate({left: '-=100px'}, 2000);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/stop.html" style="border: medium none " height="150" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/stop.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>queue()</h3>
<p>возвращает: Array<function><br />
Возвращает ссылку на очередь элемента (массив функций).</function></p>
<p>Разберите этот пример. По клику на кнопке мы получаем длину очереди в текущий момент.</p>
<pre class="brush: jscript;">$(&quot;#show&quot;).click(function () {
  var n = $(&quot;div&quot;).queue(&quot;fx&quot;);
  $(&quot;span&quot;).text(&quot;Длина очереди: &quot; + n.length);
});
function runIt() {
  $(&quot;div&quot;).show(&quot;slow&quot;);
  $(&quot;div&quot;).animate({left:'+=200'},2000);
  $(&quot;div&quot;).slideToggle(1000);
  $(&quot;div&quot;).slideToggle(&quot;fast&quot;);
  $(&quot;div&quot;).animate({left:'-=200'},1500);
  $(&quot;div&quot;).hide(&quot;slow&quot;);
  $(&quot;div&quot;).show(1200);
  $(&quot;div&quot;).slideUp(&quot;normal&quot;, runIt);
}
runIt();</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/queue.html" style="border: medium none " height="100" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/queue.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>queue(callback)</h3>
<p>возвращает: jQuery<br />
Добавляет новую функцию, которая долна быть выполнена, в конец очереди для всех элементов набора.</p>
<p>В примере: очередь пользовательских функций.</p>
<pre class="brush: jscript;">$(document.body).click(function () {
  $(&quot;div&quot;).show(&quot;slow&quot;);
  $(&quot;div&quot;).animate({left:'+=200'},2000);
  $(&quot;div&quot;).queue(function () {
    $(this).addClass(&quot;newcolor&quot;);
    $(this).dequeue();
  });
  $(&quot;div&quot;).animate({left:'-=200'},500);
  $(&quot;div&quot;).queue(function () {
    $(this).removeClass(&quot;newcolor&quot;);
    $(this).dequeue();
  });
  $(&quot;div&quot;).slideUp();
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/queue_callback.html" style="border: medium none " height="100" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/queue_callback.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>queue(queue)</h3>
<p>возвращает: jQuery<br />
Заменяет очередь для всех элементов набора новой очередью (массив функций).</p>
<p>В примере, по клику на кнопке Stop, устанавливается массив очереди, чтобы удалить текущую очередь. По клику на кнопке Start очередь запускается вновь.</p>
<pre class="brush: jscript;">$(&quot;#start&quot;).click(function () {
  $(&quot;div&quot;).show(&quot;slow&quot;);
  $(&quot;div&quot;).animate({left:'+=200'},5000);
  $(&quot;div&quot;).queue(function () {
    $(this).addClass(&quot;newcolor&quot;);
    $(this).dequeue();
  });
  $(&quot;div&quot;).animate({left:'-=200'},1500);
  $(&quot;div&quot;).queue(function () {
    $(this).removeClass(&quot;newcolor&quot;);
    $(this).dequeue();
  });
  $(&quot;div&quot;).slideUp();
});
$(&quot;#stop&quot;).click(function () {
  $(&quot;div&quot;).queue(&quot;fx&quot;, []);
  $(&quot;div&quot;).stop();
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/queue_queue.html" style="border: medium none " height="100" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/queue_queue.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<h3>dequeue()</h3>
<p>возвращает: jQuery<br />
Удаляет поставленную в конец очереди функцию, разрешая очереди продолжаться.</p>
<p>В примере dequeue используется, чтобы разрешить очереди продолжиться после использования queue(callback). Попробуйте убрать в примере строчку $(this).dequeue(); и Вы обнаружите, что анимация остановится после срабатывания toggleClass.</p>
<pre class="brush: jscript;">$(&quot;button&quot;).click(function () {
  $(&quot;div&quot;).animate({left:'+=200px'}, 2000);
  $(&quot;div&quot;).animate({top:'0px'}, 600);
  $(&quot;div&quot;).queue(function () {
    $(this).toggleClass(&quot;red&quot;);
    $(this).dequeue();
  });
  $(&quot;div&quot;).animate({left:'10px', top:'30px'}, 700);
});</pre>
<p><iframe src="http://www.linkexchanger.su/jquery_effects/dequeue.html" style="border: medium none " height="100" width="420"></iframe></p>
<blockquote><p>Откройте <a href="http://www.linkexchanger.su/jquery_effects/dequeue.html" target="_blank">пример</a> в отдельном окне и посмотрите исходный код.</p></blockquote>
<p>В общем про анимационные эффекты библиотеки jQuery вроде бы все.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linkexchanger.su/2008/61.html/feed</wfw:commentRss>
		<slash:comments>98</slash:comments>
		</item>
	</channel>
</rss>

