<?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>Уроки PHP, Mootools, JavaScript, ActionScript, HTML, CSS &#187; программирование</title>
	<atom:link href="http://php.infoniac.ru/tag/%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5/feed" rel="self" type="application/rss+xml" />
	<link>http://php.infoniac.ru</link>
	<description>Уроки программирования от новичка новичкам</description>
	<lastBuildDate>Tue, 07 Sep 2010 11:19:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Уроки Mootools – Урок 7 – Игра со стилями</title>
		<link>http://php.infoniac.ru/mootools-day7-styles.html</link>
		<comments>http://php.infoniac.ru/mootools-day7-styles.html#comments</comments>
		<pubDate>Sat, 11 Jul 2009 07:06:11 +0000</pubDate>
		<dc:creator>proglammer</dc:creator>
				<category><![CDATA[Mootools]]></category>
		<category><![CDATA[Уроки новичка]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[манипуляции css]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[стили]]></category>
		<category><![CDATA[уроки]]></category>

		<guid isPermaLink="false">http://php.infoniac.ru/?p=545</guid>
		<description><![CDATA[На мой взгляд – очень интересный урок, где рассмотрим мы методы работы со стилями. Согласитесь, работать со стилями в современном Web 2.0, очень важно уметь! Вот и будем рассматривать методы и функции получения и изменения свойств стилей «на лету», т.е. пользователь нажал на кнопку, а и не заметил, как свойство стиля и изменилось.
<!--3E4F7FCD31DE5B0811E917A03F5DC187-->]]></description>
			<content:encoded><![CDATA[<h2>Основы</h2>
<h3>Функция .setStyle();</h3>
<p>Эта функция позволяет установить свойства стиля элемента. Все что нужно сделать, это добавить <strong>.setStyle()</strong> через сивмол точки («.») в конец строки с селектором (или к соответствующей переменной), и она  изменит свойства стилей одного элемента или целого массива элементов.</p>
<p><span id="more-122"></span></p>
<style>
#playstyles {
	width: 200px;
	height: 200px;
	background-color: #eeeeee;
	border: 3px solid #dd97a1;
}
</style>
</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 102, 0); font-style: italic;">//определяем селектор</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//добавляем функцию .setStyle</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//задаем необходимое свойство стиля и его значение</span>
$<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'body_wrap'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">setStyle</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'background-color'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(51, 102, 204);">'#eeeeee'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
$$<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'.class_name'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">setStyle</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'background-color'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(51, 102, 204);">'#eeeeee'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</p></div>
</div>
<div class="wp_syntax">
<div class="code">
<pre class="html4strict" style="font-family: monospace;"><span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"body_wrap"</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">class</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"class_name"</span>&gt;&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">class</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"class_name"</span>&gt;&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">class</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"class_name"</span>&gt;&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">class</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"class_name"</span>&gt;&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span>
<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span></pre>
</p></div>
</div>
<h3>.getStyle();</h3>
<p>Если понимаешь хоть как-то по английски, тут все понятно: функция получает значение свойства стиля элемента (как-то много родительного падежа <img src="7_files/icon_smile.gif" alt=":)" class="wp-smiley"/> ). </p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 102, 0); font-style: italic;">//вначале объявляем переменную, в которой будет содержаться значение параметра стиля</span>
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> styleValue <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(51, 102, 204);">'body_wrap'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">getStyle</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'background-color'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</p></div>
</div>
<p>Если бы мы прогнали этот код по предыдушим HTML строкам, переменная <strong>styleValue</strong> получила бы значение <em>‘#eeeeee’</em>.</p>
<h2>Получение и установка нескольких значений стиля</h2>
<h3>setStyles();</h3>
<p><strong>.setStyles();</strong>, как скорее всего уже понял народ, хоть немного понимающий английский, позволяет применить несколько значений стиля одновременно к одному элементу или к целому массиву элементов. Синтаксис функции <strong>.setStyles();</strong> немного отличается от синтаксиса остальных схожих функций и это сделано лишь для того, чтобы она позволяла работать с несколькими значениями стилей одновременно.</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 102, 0); font-style: italic;">//начинаем мы с того, что создаем селектор, к которому добавляем, как всегда через точку, функцию</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//в данном случае .setStyles();</span>
$<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'body_wrap'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">setStyles</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">{</span>
    <span style="color: rgb(0, 102, 0); font-style: italic;">//шаблон, которого нужно придерживаться: 'свойство': 'значение',</span>
    <span style="color: rgb(51, 102, 204);">'width'</span><span style="color: rgb(51, 153, 51);">:</span> <span style="color: rgb(51, 102, 204);">'1000px'</span><span style="color: rgb(51, 153, 51);">,</span>
    <span style="color: rgb(51, 102, 204);">'height'</span><span style="color: rgb(51, 153, 51);">:</span> <span style="color: rgb(51, 102, 204);">'1000px'</span><span style="color: rgb(51, 153, 51);">,</span>
    <span style="color: rgb(0, 102, 0); font-style: italic;">//ВАЖНО: после последнего значения запятую ставить НЕ НУЖНО!</span>
    <span style="color: rgb(0, 102, 0); font-style: italic;">//это важно для кроссбраузерности приложения</span>
    <span style="color: rgb(51, 102, 204);">'background-color'</span><span style="color: rgb(51, 153, 51);">:</span> <span style="color: rgb(51, 102, 204);">'#eeeeee'</span>
<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</p></div>
</div>
<p><strong>Примечание</strong>:  Вообще не обязательно всегда заключать название свойства стиля в единичные кавычки. Они нужны только тогда, когда в названии свойства есть дефис (-), как, например, в свойстве <em>font-size</em>. Но для того, чтобы исключить возникновение проблем по причине не поставленной кавычки, лучше приучить себя к кавычкам. Потом искать долго, если что <img src="7_files/icon_wink.gif" alt=";)" class="wp-smiley"/>.</p>
<p><strong>Еще одно примечание</strong>: эта функция предоставляет большую гибкость при определении значений свойств (таких как ‘200px’ или ‘#ffffff’). Помимо возможности передачи обычных текстовых строк, можно также передавать числа без кавычек (которые будут интепретированы как пиксели – px – в большинстве случаев) и переменные:</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 102, 0); font-style: italic;">//эта строчка передает переменной firstBackgroundColor значение в формате ТЕКСТ '#eeeeee'</span>
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> firstBackgroundColor <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(51, 102, 204);">'#eeeeee'</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//можно задавать в качестве значения переменной другую переменную</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//в данном случае переменная backgroundColor получает значение друго переменной - '#eeeeee'</span>
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> backgroundColor <span style="color: rgb(51, 153, 51);">=</span> firstBackgroundColor<span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//эта строчка передает переменной divWidth значение в формате ЧИСЛО 500</span>
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> divWidth <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(204, 0, 0);">500</span><span style="color: rgb(51, 153, 51);">;</span>
$<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'body_wrap'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">setStyles</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">{</span>
    <span style="color: rgb(0, 102, 0); font-style: italic;">//в данном случае, переменные - это слова без кавычек</span>
    <span style="color: rgb(51, 102, 204);">'width'</span><span style="color: rgb(51, 153, 51);">:</span> divWidth<span style="color: rgb(51, 153, 51);">,</span>
    <span style="color: rgb(0, 102, 0); font-style: italic;">//числа - это.... это числа без кавычек</span>
    <span style="color: rgb(51, 102, 204);">'height'</span><span style="color: rgb(51, 153, 51);">:</span> <span style="color: rgb(204, 0, 0);">1000</span><span style="color: rgb(51, 153, 51);">,</span>
    <span style="color: rgb(0, 102, 0); font-style: italic;">//другая перменная</span>
    <span style="color: rgb(51, 102, 204);">'background-color'</span><span style="color: rgb(51, 153, 51);">:</span> backgroundColor<span style="color: rgb(51, 153, 51);">,</span>
    <span style="color: rgb(0, 102, 0); font-style: italic;">//строки - это ряд символов, заключенных в 'единичные кавычки'</span>
    <span style="color: rgb(51, 102, 204);">'color'</span><span style="color: rgb(51, 153, 51);">:</span> <span style="color: rgb(51, 102, 204);">'black'</span>
<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</p></div>
</div>
<h3>.getStyles;</h3>
<p>Эта функция позволяет получать несколько значений свойств стилей за один раз. Она работает немного иначе, чем мы виделли немного выше, а отличается этот метод тем, что он работает с несколькими наборами данных в формате ключа (свойство стиля) и его значения (значение свойства). Такой набор данных называется ОБЪЕКТОМ, а метод <strong>.getStyles();</strong> позволяет легко формировать такие объекты, чтобы потом их также легко использовать.</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 102, 0); font-style: italic;">//вначале нужно объявить переменную для нашего объекта</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//потом создать селектор</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//добавляем метод .getStykes к селектору</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//после чего создаем список названий свойств стиля, разделенных через запятую</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//все названия нужно заключать в 'единичные кавычки'</span>
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> bodyStyles <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'body_wrap'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">getStyles</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'width'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(51, 102, 204);">'height'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(51, 102, 204);">'background-color'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span> 
<span style="color: rgb(0, 102, 0); font-style: italic;">//вначале создаем новую переменную, которая будет содержать значение свойства</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//передаем в переменную определенное свойство; </span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//ключ объекта/массива и будет названием свойства</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//название свойства заключаем в [квадратные скобки]</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//не забываем про 'единичные кавычки' для ключа объекта/массива</span>
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> bgStyle <span style="color: rgb(51, 153, 51);">=</span> bodyStyles<span style="color: rgb(0, 153, 0);">[</span><span style="color: rgb(51, 102, 204);">'background-color'</span><span style="color: rgb(0, 153, 0);">]</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</p></div>
</div>
<h2>Пример</h2>
<p>В этом примере мы потренируемся использовать некоторые методы, рассмотренные в этом уроке, чтобы получать информацию о стилях (<strong>.getStyles();</strong>) и устанавливать свои стили (<strong>.setStyles();</strong>). Обращайте больше внимания не на манипуляции со свойствами стилей, а на структуру кода. Для того, чтобы отделить наши функции от события domready, мы передаем им несколько переменных, которые установленны в самом событии domready. А делается это примерно так: как видно вначале идет объявление переменных с функциями, но при этом видно, что функциям передаются переменные, которые объявляются позже, уже в событии domready, где функции, собственно и вызываются, но уже после объявленных переменных. Что-то вроде того…</p>
<p>Обратите внимания, что собятия click используют анонимные функции. Это дает нам возможность передавать переменные изнутри domready функциям за его пределами. Это может показаться полным бредом на первый взгляд, но пробежав глазами по коду немного ниже, думаю, должно все проясниться.</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 102, 0); font-style: italic;">//обратите внимание, что эта функция имеет параметр "bgColor"</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//эта функция будет использоваться уже внутри собятия domready</span>
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> seeBgColor <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span>bgColor<span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
	<span style="color: rgb(0, 0, 102);">alert</span><span style="color: rgb(0, 153, 0);">(</span>bgColor<span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span>
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> seeBorderColor <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span>borderColor<span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
	<span style="color: rgb(0, 0, 102);">alert</span><span style="color: rgb(0, 153, 0);">(</span>borderColor<span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span>
&nbsp;
<span style="color: rgb(0, 102, 0); font-style: italic;">//тут мы используем еще не объявленную переменную playDiv</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//но, так как мы объявим переменную уже в событии domready и</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//и это произойдет до того, как мы вызовим эту функцию, ошибки не будет</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//плюс ко всему, теперь не нужно использовать селектор несколько раз</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//очень полезно когда имеешь дело со сложными селекторами</span>
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> seeDivWidth <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span>playDiv<span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
        <span style="color: rgb(0, 102, 0); font-style: italic;">//снова получаем стиль</span>
        <span style="color: rgb(0, 102, 0); font-style: italic;">//но в отличии от метода .getStyles();, который используем позже в domready,</span>
        <span style="color: rgb(0, 102, 0); font-style: italic;">//тут мы получаем текущее значение параметра стиля</span>
        <span style="color: rgb(0, 102, 0); font-style: italic;">//это обеспечивает точные значение ширины элемента, передаваемые в оповещение alert </span>
        <span style="color: rgb(0, 102, 0); font-style: italic;">//даже когда значения изменяются по ходу работы</span>
		<span style="color: rgb(0, 102, 0); font-style: italic;">//или после того, как событие domready уже имело место</span>
&nbsp;
	<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> currentDivWidth <span style="color: rgb(51, 153, 51);">=</span> playDiv.<span style="color: rgb(102, 0, 102);">getStyle</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'width'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
	<span style="color: rgb(0, 0, 102);">alert</span><span style="color: rgb(0, 153, 0);">(</span>currentDivWidth<span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span>
&nbsp;
&nbsp;
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> seeDivHeight <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span>playDiv<span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
	<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> currentDivHeight <span style="color: rgb(51, 153, 51);">=</span> playDiv.<span style="color: rgb(102, 0, 102);">getStyle</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'height'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
	<span style="color: rgb(0, 0, 102);">alert</span><span style="color: rgb(0, 153, 0);">(</span>currentDivHeight<span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span>
&nbsp;
&nbsp;
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> setDivWidth <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span>playDiv<span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
	playDiv.<span style="color: rgb(102, 0, 102);">setStyle</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'width'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(51, 102, 204);">'50px'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span>
&nbsp;
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> setBgColor <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span>playDiv<span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
	playDiv.<span style="color: rgb(102, 0, 102);">setStyle</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'background-color'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(51, 102, 204);">'#fdd1aa'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span>
&nbsp;
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> setDivHeight <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span>playDiv<span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
	playDiv.<span style="color: rgb(102, 0, 102);">setStyle</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'height'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(51, 102, 204);">'50px'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span>
&nbsp;
<span style="color: rgb(0, 102, 0); font-style: italic;">//обратите внимание, что этот параметр на этом этапе может называться как угодно</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//он примет любое значение (буть то элемент или еще что-либо) </span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//при ее запуске из события domready</span>
&nbsp;
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> resetSIZE <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span> <span style="color: rgb(0, 153, 0);">(</span>foo<span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
	foo.<span style="color: rgb(102, 0, 102);">setStyles</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">{</span>
		<span style="color: rgb(51, 102, 204);">'height'</span><span style="color: rgb(51, 153, 51);">:</span> <span style="color: rgb(204, 0, 0);">200</span><span style="color: rgb(51, 153, 51);">,</span>
		<span style="color: rgb(51, 102, 204);">'width'</span><span style="color: rgb(51, 153, 51);">:</span> <span style="color: rgb(204, 0, 0);">200</span><span style="color: rgb(51, 153, 51);">,</span>
        <span style="color: rgb(51, 102, 204);">'background-color'</span><span style="color: rgb(51, 153, 51);">:</span> <span style="color: rgb(51, 102, 204);">'#fdd1aa'</span>
&nbsp;
	<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span>
&nbsp;
window.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'domready'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
        <span style="color: rgb(0, 102, 0); font-style: italic;">//в этом примере мы часто используем этот селектор, поэтому проще и экономнее сразу</span>
        <span style="color: rgb(0, 102, 0); font-style: italic;">//присвоить его переменной</span>
	<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> playDiv <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'playstyles'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
        <span style="color: rgb(0, 102, 0); font-style: italic;">//тут мы создаем объект с несколькими свойствами стиля</span>
&nbsp;
	<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> bodyStyles <span style="color: rgb(51, 153, 51);">=</span> playDiv.<span style="color: rgb(102, 0, 102);">getStyles</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'background-color'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(51, 102, 204);">'border-bottom-color'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span> 
&nbsp;
        <span style="color: rgb(0, 102, 0); font-style: italic;">//еще значение стиля можно получить обратившись в объекту со свойствами</span>
        <span style="color: rgb(0, 102, 0); font-style: italic;">//с соответствующим ключем и назначив результат переменной</span>
	<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> bgColor <span style="color: rgb(51, 153, 51);">=</span> bodyStyles<span style="color: rgb(0, 153, 0);">[</span><span style="color: rgb(51, 102, 204);">'background-color'</span><span style="color: rgb(0, 153, 0);">]</span><span style="color: rgb(51, 153, 51);">;</span> 
&nbsp;
        <span style="color: rgb(0, 102, 0); font-style: italic;">//тут используется анонимная функция чтобы иметь возможность передать параметр вне события domready</span>
&nbsp;
	$<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'bgcolor'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'click'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(0, 153, 0);">{</span>
		seeBgColor<span style="color: rgb(0, 153, 0);">(</span>bgColor<span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
	<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
&nbsp;
	$<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'border_color'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'click'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(0, 153, 0);">{</span>
                <span style="color: rgb(0, 102, 0); font-style: italic;">//вместо того, чтобы передавать параметр в доступную переменную,</span>
                <span style="color: rgb(0, 102, 0); font-style: italic;">//его можно вызвать прямо сюда в алерт</span>
		seeBorderColor<span style="color: rgb(0, 153, 0);">(</span>bodyStyles<span style="color: rgb(0, 153, 0);">[</span><span style="color: rgb(51, 102, 204);">'border-bottom-color'</span><span style="color: rgb(0, 153, 0);">]</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
	<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
&nbsp;
	$<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'div_width'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'click'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(0, 153, 0);">{</span>
		seeDivWidth<span style="color: rgb(0, 153, 0);">(</span>playDiv<span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
	<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
&nbsp;
	$<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'div_height'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'click'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(0, 153, 0);">{</span>
		seeDivHeight<span style="color: rgb(0, 153, 0);">(</span>playDiv<span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
	<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
&nbsp;
	$<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'set_width'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'click'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(0, 153, 0);">{</span>
		setDivWidth<span style="color: rgb(0, 153, 0);">(</span>playDiv<span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
	<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
&nbsp;
	$<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'set_height'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'click'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(0, 153, 0);">{</span>
		setDivHeight<span style="color: rgb(0, 153, 0);">(</span>playDiv<span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
	<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
   	$<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'set_BgColor'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'click'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(0, 153, 0);">{</span>
		setBgColor<span style="color: rgb(0, 153, 0);">(</span>playDiv<span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
	<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
&nbsp;
	$<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'reset'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'click'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(0, 153, 0);">{</span>
		resetSIZE<span style="color: rgb(0, 153, 0);">(</span>playDiv<span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
	<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</p></div>
</div>
<p>А теперь HTML код:</p>
<div class="wp_syntax">
<div class="code">
<pre class="html4strict" style="font-family: monospace;"><span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"playstyles"</span>&gt;</span> <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">br</span> <span style="color: rgb(102, 204, 102);">/</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">button</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"bgcolor"</span>&gt;</span>Получить background-color<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">button</span>&gt;&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">br</span> <span style="color: rgb(102, 204, 102);">/</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">button</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"border_color"</span>&gt;</span>Получить border-bottom-color<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">button</span>&gt;&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">br</span> <span style="color: rgb(102, 204, 102);">/</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">button</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"div_width"</span>&gt;</span>Получить width<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">button</span>&gt;&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">br</span> <span style="color: rgb(102, 204, 102);">/</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">button</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"div_height"</span>&gt;</span>Получить height<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">button</span>&gt;&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">br</span> <span style="color: rgb(102, 204, 102);">/</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">button</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"set_width"</span>&gt;</span>Установить width на 50px<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">button</span>&gt;&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">br</span> <span style="color: rgb(102, 204, 102);">/</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">button</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"set_height"</span>&gt;</span>Установить height на 50px<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">button</span>&gt;&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">br</span> <span style="color: rgb(102, 204, 102);">/</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">button</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"set_BgColor"</span>&gt;</span>Поменять background-color<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">button</span>&gt;&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">br</span> <span style="color: rgb(102, 204, 102);">/</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">button</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"reset"</span>&gt;</span>Сбросить<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">button</span>&gt;</span></pre>
</p></div>
</div>
<p>И небольшой отрезок нужного нам CSS-кода:</p>
<div class="wp_syntax">
<div class="code">
<pre class="css" style="font-family: monospace;"><span style="color: rgb(204, 0, 204);">#playstyles</span> <span style="color: rgb(0, 170, 0);">{</span>
	<span style="color: rgb(0, 0, 0); font-weight: bold;">width</span><span style="color: rgb(0, 170, 0);">:</span> <span style="color: rgb(153, 51, 51);">200px</span><span style="color: rgb(0, 170, 0);">;</span>
	<span style="color: rgb(0, 0, 0); font-weight: bold;">height</span><span style="color: rgb(0, 170, 0);">:</span> <span style="color: rgb(153, 51, 51);">200px</span><span style="color: rgb(0, 170, 0);">;</span>
	<span style="color: rgb(0, 0, 0); font-weight: bold;">background-color</span><span style="color: rgb(0, 170, 0);">:</span> <span style="color: rgb(204, 0, 204);">#eeeeee</span><span style="color: rgb(0, 170, 0);">;</span>
	<span style="color: rgb(0, 0, 0); font-weight: bold;">border</span><span style="color: rgb(0, 170, 0);">:</span> <span style="color: rgb(153, 51, 51);">3px</span> <span style="color: rgb(153, 51, 51);">solid</span> <span style="color: rgb(204, 0, 204);">#dd97a1</span>
<span style="color: rgb(0, 170, 0);">}</span></pre>
</p></div>
</div>
<div id="playstyles"> </div>
<p>
  <button id="bgcolor">Получить background-color</button> – смотрим цвет фона<br />
  <button id="border_color">Получить border-bottom-color</button> – смотрим цвет границы нижней</p>
<p>
  <button id="div_width">Получить width</button> – смотрим ширину<br />
  <button id="div_height">Получить height</button> – смотрим высоту<br />
  <button id="set_width">Установить width на 50px</button> – устанавливаем ширину на 50 пикселей<br />
  <button id="set_height">Установить height на 50px</button> – устанавливаем высоту на 50 пикселей</p>
<p>
  <button id="set_BgColor">Поменять цвет фона</button> – меняем цвет фона на ‘#fdd1aa’<br />
* Замечу, что несмотря на то, что после смены габаритов нашего объекта, кнопки, полчающие эти габариты, получают правильные значения (ширина = длина = 50px), кнопка получения цвета фона не прокатывает. По каким-то причинам (по каким, я не разобрался), код возвращает изначально установленный цвет фона объекта. Потому, будьте осторожны, если придется что-то подбное использоваться в ваших проектах!<br />
  <button id="reset">Сбросить</button>
</p>
<h2>А что же дальше?…</h2>
<p>В 8-м уроке я планирую рассказать о том, как работать с числами, а именно о большинстве методов и функций в Mootools 1.2, предназначенных для работы с числами. Не забудьте <a href="http://feeds.feedburner.com/Beginners-Programming-Training">подписаться на RSS</a>, чтобы первыми прочитать следующий урок!</p>
]]></content:encoded>
			<wfw:commentRss>http://php.infoniac.ru/mootools-day7-styles.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Уроки Mootools – Урок 6 – Манипуляции с HTML</title>
		<link>http://php.infoniac.ru/mootool-day-6-html-manipulation.html</link>
		<comments>http://php.infoniac.ru/mootool-day-6-html-manipulation.html#comments</comments>
		<pubDate>Sun, 21 Jun 2009 18:09:56 +0000</pubDate>
		<dc:creator>proglammer</dc:creator>
				<category><![CDATA[Mootools]]></category>
		<category><![CDATA[Уроки новичка]]></category>
		<category><![CDATA[манипуляции html]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[уроки]]></category>

		<guid isPermaLink="false">http://php.infoniac.ru/?p=537</guid>
		<description><![CDATA[этом уроке мы заглянем еще глубже в то, какие возможности манипулирования элементами HTML скрывает в себе Mootools библиотека 1.2. Я уже, наверное, не раз говорил, насколько мощные возможности скрывает в себе легкая библиотека Mootools 1.2, но хочу еще раз напомнить о том, что с ее помощью можно добавлять новые элементы в вашу страницу, удалять ненужные и изменять их стиль или параметры, и все это «налету».]]></description>
			<content:encoded><![CDATA[<h2>Управление HTML элементами DOMа с помощью Mootools 1.2</h2>
<p>В предыдущих уроках мы рассмотрели возможности выбора элементов DOMа страницы, как создавать массивы, функции, как создавать прослушку событий для определенных элементов DOMа, ну а в этом уроке мы заглянем еще глубже в то, какие возмоности манипулирования элементами HTML скрывает в себе Mootools библиотека 1.2. Я уже, наверное, не раз говорил, насколько мощные возможности скрывает в себе легкая библиотека Mootools 1.2, но хочу еще раз напомнить о том, что с ее помощью можно добавлять новые элементы в вашу страницу, удалять ненужные и изменять их  стиль или параметры, и все это «налету».</p>
<h2>Основы</h2>
<h3>.get()</h3>
<p>Этот метод позволяет получать доступ к атрибутам элементов. Ипользование метода довольно просто:</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 102, 0); font-style: italic;">//этот код вернет название тега элемента с id "id_name"</span>
$<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'id_name'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">get</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'tag'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</div>
</div>
<div class="wp_syntax">
<div class="code">
<pre class="html4strict" style="font-family: monospace;"><span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"body_wrap"</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">span</span>&gt;</span>Element<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">span</span>&gt;</span><span style="color: rgb(128, 128, 128); font-style: italic;">&lt;!-- код, указанный выше, вернул бы "span" --&gt;</span>
<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span></pre>
</div>
</div>
<p>С помощью <strong>.get()</strong> можно получить не только название HTML тегов, но и такие аттрибуты, как <em>id, name, value, href, src, class</em> (вернет все классы, если элементу присвоенны несколько), с помощью ключевого слова <em>text</em> можно получить текстовое<br />
содержимое элемента, а также многое другое.</p>
<h3>.set()</h3>
<p><strong>.set()</strong> работает также, как и <strong>.get()</strong>, тоько этот метод устанавливает различные значения, а не получает их, а это очень пригодится при комбинировании с событиями, что позволяет изменять всякие значение уже после того, как загрузится страница.</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 102, 0); font-style: italic;">//этот код установит атрибут href элемента с id #id_name на "http://www.google.com"</span>
$<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'id_name'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">set</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'href'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(51, 102, 204);">'http://www.google.com'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</div>
</div>
<div class="wp_syntax">
<div class="code">
<pre class="html4strict" style="font-family: monospace;"><span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"body_wrap"</span>&gt;</span>
    <span style="color: rgb(128, 128, 128); font-style: italic;">&lt;!-- код, указанный выше изменить атрибут href на "http://www.google.com  --&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">a</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"id_name"</span> <span style="color: rgb(0, 0, 102);">href</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"http://www.yahoo.com"</span>&gt;</span>Search Engine<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">a</span>&gt;</span>
<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span></pre>
</div>
</div>
<h3>.erase()</h3>
<p>Метод <strong>.erase()</strong> позволяет удалить значение атрибута. Он работает также, как и предыдущие два: выбираете элемент, потом выбираете какой атрибут нужно удалить.</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 102, 0); font-style: italic;">//этот код удалит значение атрибута href элемента с ID #id_name</span>
$<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'id_name'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">erase</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'href'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</div>
</div>
<div class="wp_syntax">
<div class="code">
<pre class="html4strict" style="font-family: monospace;"><span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"body_wrap"</span>&gt;</span>
    <span style="color: rgb(128, 128, 128); font-style: italic;">&lt;!-- код, указанный выше удалит значение атрибута href --&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">a</span> <span style="color: rgb(0, 0, 102);">href</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"http://www.yahoo.com"</span>&gt;</span>Search Engine<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">a</span>&gt;</span>
<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span></pre>
</div>
</div>
<h2>Передвижение</h2>
<h3>.inject();</h3>
<p>Чтобы передвигать элемент по стрнице, можно использовать метод <strong>.inject();</strong>. Как и все остальные методы, которые мы уже рассмотрели, этот метод очень прост в использовании и предоставляет большие воможности управления пользовательским интерфейсом. Для того, чтоб ыиспользовать <strong>.inject();</strong>, давайте вначале создадим несколько элементов в переменной:</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> elementA <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'elemA'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> elementB <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'elemB'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> elementC <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'elemC'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</div>
</div>
<p>Этот код вставляет html код в переменные, что делает более легким их использование в Mootools.</p>
<div class="wp_syntax">
<div class="code">
<pre class="html4strict" style="font-family: monospace;"><span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"body_wrap"</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"elemA"</span>&gt;</span>A<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"elemB"</span>&gt;</span>B<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"elemC"</span>&gt;</span>C<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span>
<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span></pre>
</div>
</div>
<p>А теперь, чтобы изменить порядок сортировки элементов, можно использовать метод <strong>.inject()</strong> одним из четырех способов. Можно вставить элемент в:</p>
<ul>
<li>в конец (bottom) (по умолчанию)</li>
<li>в начало (top)</li>
<li>до элемента (before)</li>
<li>после элемента (after)</li>
</ul>
<p>Атрибуты <em>bottom</em> и <em>top</em> установят элемент в верхнюю или нижнюю часть выбранного элемента-контейнера. Атрибуты <em>before</em> и <em>after</em>, с другой стороны, установят необходимый элемент до или после другого элемента.</p>
<p>Итак, давайте изменим порядок элементов на A-C-B. Так как нам не нужно вставлять один элемент во внутрь другого, мы будем использовать атрибуты <em>before</em> и <em>after</em>.</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 102, 0); font-style: italic;">//на человеческом языке звучит так:  вставить элемент C перед элементом B</span>
elementC.<span style="color: rgb(102, 0, 102);">inject</span><span style="color: rgb(0, 153, 0);">(</span>elementB<span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(51, 102, 204);">'before'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//На русском:  вставить элемент B после элемента C</span>
elementB.<span style="color: rgb(102, 0, 102);">inject</span><span style="color: rgb(0, 153, 0);">(</span>elementC<span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(51, 102, 204);">'after'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</div>
</div>
<h2>Создание новых элементов</h2>
<h3>new Element</h3>
<p>Конструктор «<strong>new Element</strong>» можно использовать для того, чтобы создать новый элемент на вашей HTML странице. Процесс очень напоминает написание обычного HTML кода, с тем отличием, что мы исправим синтаксис, чтобы он был совместим с Mootools:</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 102, 0); font-style: italic;">//вначале, вы присваиваете новой переменной значение "new Element"</span>
<span style="color: rgb(0, 102, 0); font-style: italic;">//в которой и будет содержаться информация о новом элементе (div, a, span и т.д.)</span>
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> newElementVar <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">new</span> Element<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'div'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(0, 153, 0);">{</span>
    <span style="color: rgb(0, 102, 0); font-style: italic;">//тут обозначаются все атрибуты элемента</span>
    <span style="color: rgb(51, 102, 204);">'id'</span><span style="color: rgb(51, 153, 51);">:</span> <span style="color: rgb(51, 102, 204);">'id_name'</span><span style="color: rgb(51, 153, 51);">,</span>
    <span style="color: rgb(51, 102, 204);">'text'</span><span style="color: rgb(51, 153, 51);">:</span> <span style="color: rgb(51, 102, 204);">'Я новый блок div'</span><span style="color: rgb(51, 153, 51);">,</span>
    <span style="color: rgb(51, 102, 204);">'styles'</span><span style="color: rgb(51, 153, 51);">:</span> <span style="color: rgb(0, 153, 0);">{</span>
        <span style="color: rgb(0, 102, 0); font-style: italic;">//тут можно указать все параметры стиля элемента</span>
        <span style="color: rgb(51, 102, 204);">'width'</span><span style="color: rgb(51, 153, 51);">:</span> <span style="color: rgb(51, 102, 204);">'200px'</span><span style="color: rgb(51, 153, 51);">,</span>
        <span style="color: rgb(51, 102, 204);">'height'</span><span style="color: rgb(51, 153, 51);">:</span> <span style="color: rgb(51, 102, 204);">'200px'</span><span style="color: rgb(51, 153, 51);">,</span>
        <span style="color: rgb(51, 102, 204);">'background-color'</span><span style="color: rgb(51, 153, 51);">:</span> <span style="color: rgb(51, 102, 204);">'#eee'</span><span style="color: rgb(51, 153, 51);">,</span>
        <span style="color: rgb(51, 102, 204);">'float'</span><span style="color: rgb(51, 153, 51);">:</span> <span style="color: rgb(51, 102, 204);">'left'</span>
    <span style="color: rgb(0, 153, 0);">}</span>
<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</div>
</div>
<p>Смотрите, у нас получился элемент, который можно вставить в какое-либо место, с помощью методов, которые мы рассмотрели чуть чуть ранее. Давайте начнем с такого простого примера HTML:</p>
<div class="wp_syntax">
<div class="code">
<pre class="html4strict" style="font-family: monospace;"><span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"body_wrap"</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"content_id"</span>&gt;</span>Тут у нас какое-нибудь содержимое<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span>
<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span></pre>
</div>
</div>
<p>Теперь конвертируем элемент #content_id в переменную:</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> bodyWrapVar <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'body_wrap'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</div>
</div>
<p>Аналогично тому, что мы рассмотрели немного ранее, мы можем вставлять созданные элементы в код страницы:</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 102, 0); font-style: italic;">//на человеческом языке, звучит так: "вставить сверху bodyWrapVar элемент newElementVar"</span>
newElementVar.<span style="color: rgb(102, 0, 102);">inject</span><span style="color: rgb(0, 153, 0);">(</span>bodyWrapVar<span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(51, 102, 204);">'top'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</div>
</div>
<p>Таким образом, конечный результат выглядел бы так:</p>
<div class="wp_syntax">
<div class="code">
<pre class="html4strict" style="font-family: monospace;"><span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"body_wrap"</span>&gt;</span>
    <span style="color: rgb(128, 128, 128); font-style: italic;">&lt;!-- этот элемент был добавлен в верхнюю внутреннюю часть элемента-контейнера --&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"id_name"</span>&gt;</span>Новый блок<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span>
    <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"content_id"</span>&gt;</span>Какая-то муть<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span>
<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span></pre>
</div>
</div>
<h2>Пример</h2>
<p>Например, давайте создадим форму, которая бы позволяла добавлять новый элемент на страницу. Для начала, сделаем несколько полей <code>input</code> и кнопку <code>button</code>.</p>
<div class="wp_syntax">
<div class="code">
<pre class="html4strict" style="font-family: monospace;"><span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">div</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"body_wrap"</span>&gt;</span>
        ID:  <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">input</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"id_input"</span> <span style="color: rgb(0, 0, 102);">name</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"id"</span> <span style="color: rgb(102, 204, 102);">/</span>&gt;</span>
        text:  <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">input</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"text_input"</span> <span style="color: rgb(0, 0, 102);">name</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"text"</span> <span style="color: rgb(102, 204, 102);">/</span>&gt;</span>
        <span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(0, 0, 0); font-weight: bold;">button</span> <span style="color: rgb(0, 0, 102);">id</span><span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">"new_div"</span>&gt;</span>create a new div<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">button</span>&gt;</span>
<span style="color: rgb(0, 153, 0);">&lt;<span style="color: rgb(102, 204, 102);">/</span><span style="color: rgb(0, 0, 0); font-weight: bold;">div</span>&gt;</span></pre>
</div>
</div>
<p>А теперь напишем и код JavaScript Mootools, который позволит нам вставлять новые элементы в нашу страницу. Для начала добавим прослушку кнопки на предмет клика и создадим функцию с этим кодом: </p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> newDiv <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
    <span style="color: rgb(0, 102, 0); font-style: italic;">//в этой функции мы разместим код вставки нового элемента</span>
<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
window.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'domready'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
    $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'new_div'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'click'</span><span style="color: rgb(51, 153, 51);">,</span> newDiv<span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</div>
</div>
<p>Затем нужно определиться с тем, какими переменными мы будем оперировать. Для того, чтобы использовать данные из форм <code>input</code>, нам нужно получить к ним доступ, а этим займется метод <strong>.get();</strong> и его параметр <em>value</em>, который отвечает за значение того или иного элемента:</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> idValue <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'id_input'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">get</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'value'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> textValue <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'text_input'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">get</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'value'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</div>
</div>
<p>Теперь эти переменные, idValue и textValue, содержат значения соответствующих полей <code>input</code>. Так как нам нужно взять значение полей <code>input</code> тогда, когда пользователь кликает по кнопке «Создать новый div», нам нужно вставить этот код в функцию <strong>newDiv();</strong>, определенную немного ранее. Если бы мы брали значения вне функции,<br />
действие бы происходило при загрузке страницы, а не при клике.</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> newDiv <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
    <span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> idValue <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'id_input'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">get</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'value'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
    <span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> textValue <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'text_input'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">get</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'value'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
window.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'domready'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
    $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'new_div'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'click'</span><span style="color: rgb(51, 153, 51);">,</span> newDiv<span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</div>
</div>
<p>Ну а дальше нам нужно будет схватить элемент, в который мы хотим вставить новый блок <code>div</code>:</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> newDiv <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
    <span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> idValue <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'id_input'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">get</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'value'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
    <span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> textValue <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'text_input'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">get</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'value'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
    <span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> bodyWrapVar <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'newElementContainer'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
window.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'domready'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
    $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'new_div'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'click'</span><span style="color: rgb(51, 153, 51);">,</span> newDiv<span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</div>
</div>
<p>Итак, у нас теперь есть значения полей <code>input</code>, тогда можно создавать новый элемент:</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> newDiv <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
    <span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> idValue <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'id_input'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">get</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'value'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
    <span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> textValue <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'text_input'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">get</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'value'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
    <span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> bodyWrapVar <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'newElementContainer'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
&nbsp;
    <span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> newElementVar <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">new</span> Element<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'div'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(0, 153, 0);">{</span>
        <span style="color: rgb(0, 102, 0); font-style: italic;">//эта строка устанавливает id элемента на значение поля &lt;code&gt;input&lt;/code&gt;</span>
    	<span style="color: rgb(51, 102, 204);">'id'</span><span style="color: rgb(51, 153, 51);">:</span>	 idValue<span style="color: rgb(51, 153, 51);">,</span>
        <span style="color: rgb(0, 102, 0); font-style: italic;">//эта строка передает значение поля &lt;code&gt;input&lt;/code&gt;</span>
        <span style="color: rgb(0, 102, 0); font-style: italic;">//для создания внутреннего текста блока</span>
    	<span style="color: rgb(51, 102, 204);">'html'</span><span style="color: rgb(51, 153, 51);">:</span> textValue
    <span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
window.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'domready'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
    $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'new_div'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'click'</span><span style="color: rgb(51, 153, 51);">,</span> newDiv<span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</div>
</div>
<p>Ну, а теперь нам остается только вставить новый элемент в нашу страницу:</p>
<div class="wp_syntax">
<div class="code">
<pre class="javascript" style="font-family: monospace;"><span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> newDiv <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
	<span style="color: rgb(0, 102, 0); font-style: italic;">//обратите внимание, что идет запрос на элемент с id="newElementContainer",</span>
	<span style="color: rgb(0, 102, 0); font-style: italic;">//что означает, что такое элемент (в нашем случае, блок DIV),</span>
	<span style="color: rgb(0, 102, 0); font-style: italic;">//должен быть заблаговременно создан</span>
	<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> bodyWrapVar <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'newElementContainer'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
	<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> idValue <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'id_input'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">get</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'value'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
	<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> textValue <span style="color: rgb(51, 153, 51);">=</span> $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'text_input'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">get</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'value'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
 	<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> newElementVar <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">new</span> Element<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'div'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(0, 153, 0);">{</span>
    	        <span style="color: rgb(51, 102, 204);">'id'</span><span style="color: rgb(51, 153, 51);">:</span> idValue<span style="color: rgb(51, 153, 51);">,</span>
    	        <span style="color: rgb(51, 102, 204);">'text'</span><span style="color: rgb(51, 153, 51);">:</span> textValue
	<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
    <span style="color: rgb(0, 102, 0); font-style: italic;">//на русском это звучит так: вставить переменную newElementVar</span>
    <span style="color: rgb(0, 102, 0); font-style: italic;">//в верхнюю часть внутри элемента bodyWrapVar</span>
&nbsp;
	newElementVar.<span style="color: rgb(102, 0, 102);">inject</span><span style="color: rgb(0, 153, 0);">(</span>bodyWrapVar<span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(51, 102, 204);">'top'</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(51, 153, 51);">;</span>
&nbsp;
<span style="color: rgb(0, 51, 102); font-weight: bold;">var</span> removeDiv <span style="color: rgb(51, 153, 51);">=</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
    <span style="color: rgb(0, 102, 0); font-style: italic;">//эта строка удаляет внутренний html код</span>
    <span style="color: rgb(0, 102, 0); font-style: italic;">//(все, что находится внутри тега div)</span>
	$<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'newElementContainer'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">erase</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'html'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(51, 102, 204);">''</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span>
&nbsp;
window.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'domready'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(0, 153, 0);">{</span>
&nbsp;
   $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'new_div'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'click'</span><span style="color: rgb(51, 153, 51);">,</span> newDiv<span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
   $<span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'remove_div'</span><span style="color: rgb(0, 153, 0);">)</span>.<span style="color: rgb(102, 0, 102);">addEvent</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(51, 102, 204);">'click'</span><span style="color: rgb(51, 153, 51);">,</span> removeDiv<span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span>
<span style="color: rgb(0, 153, 0);">}</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>
</div>
</div>
<div id="newElementContainer"></div>
<p>ID:</p>
<input id="id_input" name="id"/>
<p>текст:</p>
<input id="text_input" name="text"/>
<p><button id="new_div">создать блок</button><br />
<button id="remove_div">убрать все новые блоки</button></p>
<p>(а не попробовать ли слово “mootools” для ID? =) )</p>
]]></content:encoded>
			<wfw:commentRss>http://php.infoniac.ru/mootool-day-6-html-manipulation.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Уроки Mootools &#8211; Урок 2 &#8211; Селекторы</title>
		<link>http://php.infoniac.ru/mootorial-selectors-day2.html</link>
		<comments>http://php.infoniac.ru/mootorial-selectors-day2.html#comments</comments>
		<pubDate>Mon, 13 Apr 2009 06:45:36 +0000</pubDate>
		<dc:creator>proglammer</dc:creator>
				<category><![CDATA[Mootools]]></category>
		<category><![CDATA[Уроки новичка]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[селекторы]]></category>

		<guid isPermaLink="false">http://php.infoniac.ru/?p=71</guid>
		<description><![CDATA[Если Вы все еще не сделали этого, &#171;ласкаво просимо&#187; пролистать, а лучше почитать, Введение в Mootools, наш первый урок из серии &#171;Курс подготовки юного бойца&#187;, в котором мы обсудили как устанавливаются скрипты Mootools и как вызывать скрипты в событии domready. Подошло время к изучению 2-го урока из нашего &#171;Moo-чебника&#187;, в котором мы научимся использовать несколько [...]]]></description>
			<content:encoded><![CDATA[<p>Если Вы все еще не сделали этого, &laquo;ласкаво просимо&raquo; пролистать, а лучше почитать, <strong><a href="mootorial-introduction-day1.html" title="Ведение в библиотеку Mootools 1.2">Введение в Mootools</a></strong>, наш первый урок из серии <em>&laquo;Курс подготовки юного бойца&raquo;</em>, в котором мы обсудили как устанавливаются скрипты Mootools и как вызывать скрипты в событии domready.</p>
<p>Подошло время к изучению 2-го урока из нашего &laquo;Moo-чебника&raquo;, в котором мы научимся использовать несколько методов по выбору HTML элементов. В общих чертах, это основа того, для чего обычно и используется библиотека Mootools. В конце концов, для того, чтобы создать интерактивный пользовательский интерфейс из HTML элементов, на них, вначале, нужно &laquo;ткнуть пальцем&raquo;, а потом уже издеваться над ними, применяя различные методы и функции и изменяя их внешний вид и функциональность.</p>
<p><span id="more-71"></span></p>
<h2>Основы</h2>
<h3>$();</h3>
<p>Функция <strong>$</strong> &#8211; это основной селектор во всей библиотеке. С помощью этой функции можно по ID выбрать любой элемент DOM-а.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//выбирает элемент с ID 'body_wrap'</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'body_wrap'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;body_wrap&quot;</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<h3>.getElement();</h3>
<p><strong>.getElement();</strong> дополняет функцию <strong>$</strong>, позволяя, таким образом, конкретизировать свой выбор. Например, можно выбрать элемент с ID &laquo;bodywrap&raquo; с помощью функции <strong>$</strong>, после чего выбрать первый по счету элемент в нем. <strong>.getElement();</strong> выбирает только один элемент и возвращает только первый, если были найдены более одного. Если в качестве параметра <strong>.getElement();</strong> будет указан класс, функция вернет первый элемент в списке с таким классом, а не массив элементов. Если нужно выбрать несколько элементов, следует использовать функцию <strong>.getElements();</strong>, описанную ниже.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//выбирает первый якорь, находящийся в элементе с ID 'body_wrap'</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'body_wrap'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">//выбирает элемент с ID 'special_anchor', который находится в элементе 'body_wrap'</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'body_wrap'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#special_anchor'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">//выбирает первый элемент с классом 'special_anchor_class', который находится в элементе 'body_wrap'</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'body_wrap'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.special_anchor_class'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;body_wrap&quot;</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>якорь<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>еще один якорь<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;special_anchor&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>специальный якорь<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;special_anchor_class&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>специальный якорь<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;special_anchor_class&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>еще один специальный якорь<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<h3>$$();</h3>
<p><strong>$$</strong> позволяет быстро выбрать несколько элементов и разместить их в массив (своего рода список, который позволяет вам получать доступ, манипулировать и изменять очередность элементов в этом списке различными способами). Элементы можно выбирать по названию тега (например, <code>div, a, img</code>) или по ID. В одной из статей на сайте mootools более подробно описываются возможности функции <strong>$$</strong>.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//все div-ы на странице&lt;br /&gt;</span>
$$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'div'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span>
<span style="color: #006600; font-style: italic;">//выбирает элемент с ID &quot;id_name&quot; и все divы</span>
$$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#id_name'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'div'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>a div<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;id_name&quot;</span>&gt;</span>текст тега<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<h3>.getElements();</h3>
<p><strong>.getElements();</strong> &#8211; это аналог  <strong>.getElement();</strong>, с той разницей, что эта функция возвращает все элементы, соответствующие критериям поиска, помещая их в массив. <strong>.getElements();</strong> можно использовать также, как и <strong>.getElement();</strong>.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//выбирает все  якоря, заключенные в элементе с ID 'body_wrap'</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'body_wrap'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getElements</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">//выбирает все элементы с классов 'special_anchor_class', находящиеся в элементе 'body_wrap'</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'body_wrap'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getElements</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.special_anchor_class'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;body_wrap&quot;</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>якорь<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>еще один якорь<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;special_anchor_class&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>специальный якорь/a&gt;
        <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;special_anchor_class&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>еще один специальный якорь<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<h2>Использование операторов</h2>
<h3>Операторы</h3>
<p>В Mootools 1.2 есть поддержка нескольких операторов, которые позволяют еще точнее отфильтровать выбранные элементы. Операторы можно использовать в <strong>.getElements();</strong>, чтобы включать или исключать определенные результаты поиска. Mootools поддерживает 4 операторы, каждый из которых можно использовать для выбора элемента <code>input</code> по его имени:</p>
<p><strong>=</strong> &#8211; ровняется</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//выбирает элемент &lt;code&gt;input&lt;/code&gt; с именем 'phone_number'</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'body_wrap'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getElements</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'input[name=phone_number]'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p></p>
<p><strong>^=</strong> &#8211; начинается с</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//выбирает элемент &lt;code&gt;input&lt;/code&gt;, с именем начинающимся с &quot;phone&quot;</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'body_wrap'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getElements</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'input[name^=phone]'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>$=</strong> &#8211; заканчивается на</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//выбирает элемент &lt;code&gt;input&lt;/code&gt; с именем заканчивающимся на &quot;number&quot;</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'body_wrap'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getElements</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'input[name$=number]'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p></p>
<p><strong>!=</strong> не ровно (прим. перевод.: и это не удивительно!)</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">// выбирает элемент &lt;code&gt;input&lt;/code&gt;, у которого имя не &quot;address&quot;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'body_wrap'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getElements</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'input[name!=address]'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;body_wrap&quot;</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;address&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;phone_number&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span> <span style="color: #808080; font-style: italic;">&lt;!-- все 4 примера выбрали бы этот элемент --&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<p>Для использования операторов нужно вначале определить тип элемента (<code>input</code>), после чего определить атрибут, по которому фильтровать поиск (<code>name</code>), потом установить оператор и текст для поиска.</p>
<h2>Селекторы очередности элементов</h2>
<h3>even</h3>
<p>Этот простой селектор следует использовать, когда нужно выбрать элементы под четным номером порядка. Помните, что при его использовании порядковый номер первого элемента 0, поэтому он будет четным.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">// выбирает все четные &lt;code&gt;div&lt;/code&gt;ы</span>
$$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'div:even'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>Четный<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span><span style="color: #808080; font-style: italic;">&lt;!--вышеуказанный пример выберет этот элемент--&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>Нечетный<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>Четный<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span><span style="color: #808080; font-style: italic;">&lt;!--вышеуказанный пример выберет этот элемент--&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>Нечетый<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<h3>odd</h3>
<p>К этому селектору относится все тоже самое, что и к <code>even</code>, только этот выбирает нечетные элементы.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">// выбирает все нечетные &lt;code&gt;div&lt;/code&gt;ы</span>
$$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'div:odd'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>Четный<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>Нечетный<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span><span style="color: #808080; font-style: italic;">&lt;!--вышеуказанный пример выберет этот элемент--&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>Четный<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>Нечетый<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span><span style="color: #808080; font-style: italic;">&lt;!--вышеуказанный пример выберет этот элемент--&gt;</span></pre></div></div>

<h3>.getParent();</h3>
<p>С помощью селектора <strong>.getParent();</strong></p>
<p> можно выбрать родителя какого-либо элемента.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//выбирает родителя элемента с ID 'child_id'</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'child_id'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getParent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;parent_id&quot;</span>&gt;</span> <span style="color: #808080; font-style: italic;">&lt;!--Вышеуказанный пример вернул бы этот элемент --&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;child_id&quot;</span>&gt;</span>Четный<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<h2>Примеры</h2>
<p>Каждая разработка пользовательского интерфейса, написанного на Mootools, начинается с селекторов. Ниже представлены простые примеры того, как можно использовать селекторы для манипулирования элементами DOM-a.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//установить цвет заднего плана всех элементов span на #eee</span>
$$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'span'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">setStyle</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'background-color'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'#eee'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">//установить цвет заднего плана всех нечетных элементов в элементе с ID &quot;body_wrap&quot; на &quot;#eee&quot;</span>
$$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'span:odd'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">setStyle</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'background-color'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'#eee'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">//установить задний план всех элементов с классом &quot;middle_spans&quot; на &quot;#eee&quot;</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'body_wrap'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getElements</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.middle_spans'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">setStyle</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'background-color'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'#eee'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;body_wrap&quot;</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span>&gt;</span>Четный<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;middle_spans&quot;</span>&gt;</span>Нечетный<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;middle_spans&quot;</span>&gt;</span>Четный<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span>&gt;</span>Нечетный<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<h2>Закругляемся&#8230;</h2>
<p>В Интернете, на специализированных сайтах есть еще полно информации о селекторах в Mootools. И, стоит заметить, намного более познавательная, чем та, представленная мною в данном уроке, т.к. я представил вам лишь ознакомительную часть того, что можно делать с помощью селекторов Mootools. Если у вас есть познания английского, могу посоветовать Вам записи официальной документации Mootools об <a href="http://docs.mootools.net/Element/Element">элементах</a> и о <a href="http://docs.mootools.net/Utilities/Selectors">селекторах</a>, а также записи в блоге сайта mootools.net <a href="http://blog.mootools.net/2007/6/11/selectors-on-fire">о селекторе $$</a> и о том, насколько он разнообразен. После окончания нашего курса, я все еще планирую переводить другие интересные статьи с зарубежных сайтов, так что если у кого-либо есть запросы на понимание или просмотр каких-либо интересных материалов на русском языке, можете смело написать мне об этом. Я рассмотрю все предложения!</p>
<p>Ну что ж&#8230; На этом пока все. Надеюсь, кому-то пригодится этот урок так же, как он пригодился мне. В следующем уроке мы поговорим о массивах в Mootools, так что е пропадайте! <img src='http://php.infoniac.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://php.infoniac.ru/mootorial-selectors-day2.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Начинаем утреннюю зарядку: Уроки Mootools &#8211; Урок 1</title>
		<link>http://php.infoniac.ru/mootorial-introduction-day1.html</link>
		<comments>http://php.infoniac.ru/mootorial-introduction-day1.html#comments</comments>
		<pubDate>Thu, 09 Apr 2009 08:01:04 +0000</pubDate>
		<dc:creator>proglammer</dc:creator>
				<category><![CDATA[Mootools]]></category>
		<category><![CDATA[Уроки новичка]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[программирование]]></category>

		<guid isPermaLink="false">http://php.infoniac.ru/?p=58</guid>
		<description><![CDATA[Введение в библиотеку Mootools 1.2 Я с недавних пор с программированием познакомился. Должен сказать, заворожило! Очень интересно и увлекательно. С каждой новой вещью, которую узнаешь, появляется еще больше вещей, которые еще нужно познать. Итак, я начинающий программист (по крайней мере, хочу себя таковым считать), который просто хочет помочь другим начинающим программистам (или тем, кто себя [...]]]></description>
			<content:encoded><![CDATA[<h2>Введение в библиотеку Mootools 1.2</h2>
<p>Я с недавних пор с программированием познакомился. Должен сказать, заворожило! Очень интересно и увлекательно. С каждой новой вещью, которую узнаешь, появляется еще больше вещей, которые еще нужно познать.</p>
<p>Итак, я начинающий программист (по крайней мере, хочу себя таковым считать), который просто хочет помочь другим начинающим программистам (или тем, кто себя таковыми хочет считать) при написании своего кода пройти тот же путь, что и я, но только немного быстрее, т.е. без лишних поисков по интернету, форумам и другим онлайн ресурсам. Хочу сделать блог новичка для новичков, и надеюсь меня поддержат в этом начинании.</p>
<p>Я не математик, я филолог и переводчик, но программированием зачарован, можно так сказать. И, видимо, поэтому у меня не особо получается вкусить все прелести написания хороших, интересных программ. Все, что у меня получается, это небольшие дополнения к сайтам (наверное, стоит немного оговориться и сказать, что я увлекаюсь Веб-программированием, но написание обычных настольных программ нахожу не менее интересным), исправление кода под свои нужды и все. Но и это для начала подойдет!</p>
<p>Недавно мне в руки попал блог, который вел мой знакомый программист. Сам с интересом почитал некоторые посты. Но, у человека появились другие задачи, и блог перешел ко мне. Что я в нем буду писать, я уже частично оговорил, но буду стараться вывешивать как просто интересные переводы, файлы, задачи и примеры, так и истории успешно вполненных задач и путь, который я буду проходить в поисках этих решений.</p>
<p>Пожелaйте мне удачи! <img src='http://php.infoniac.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p><span id="more-58"></span></p>
<p>С <strong>библиотекой Mootools</strong> я познакомился недавно. Хоть я и раньше встречал это название, интереса особого она у меня не вызвала (интересно, почему?). Но в последний раз, когда я устанавливал на один из рабочих сайтов утилитку <strong>Slimbox</strong> (тоже весьма полезная и интересная штука!), которая является младшим и более легковесных братом знаменитой <strong>LightBox</strong>, меня заинтересовала эта библиотека, особенно, когда я взглянул на ее исходный код: это действительно мощная и очень легкая библиотека, упращающая работу с JavaScript.</p>
<p>Когда я начал искать какие-нибудь учебники по этой библиотеке, ничего, кроме <a href="http://mootools.net/docs/">официального учебника</a> не нашел. И, хочу заметить, он представлен не совсем в удобном формате, как мне кажется. (Кстати, в скором будущем планирую сделать PDF файлик, где будет представлен весь учебник, и где поиск по нему будет, намного удобнее, как мне кажется; пока только на английском, но может и переведу, если вдруг люди заинтересуются). В общем, все это я говорю к тому, что нашел хороший, на мой взгляд, 30-дневный курс по Mootools, который не требует от Вас никаких знаний HTML или JavaScript, но приветствует базовые знания CSS. Курс на английском, с блога компании <a href="http://www.consideropen.com">ConsiderOpen</a>.</p>
<h3>Итак, начнем!</h3>
<h2>Введение в библиотеку Mootools 1.2</h2>
<p><strong>Mootools 1.2</strong> (<em>My Object Oriented Tools</em>) – это легкая, но мощная библиотека JavaScript, предназначенная для облегчения интерактивного создания веб страниц с помощью JavaScript. В некотором смысле можно сказать, что многие действия, которые умеет Mootools, можно рассматривать как расширения CSS (Cascade Style Sheet – Каскадные таблицы стилей). Например, с помощью CSS можно изменить свойство какого-либо элемента при наведении курсора на него (свойство <code>:hover</code>), тогда как JavaScript распознает даже больше событий, спровоцированных пользователем (клик &#8211; &laquo;click&raquo;, наведение курсором &#8211; &laquo;mouseover&raquo;, нажатие различных клавиш и т.д.), а  библиотека Mootools делает распознавание этих событий настолько простым, что этим просто невозможно не воспользоваться!</p>
<p>Ко всему прочему, у Mootools в запасе есть уйма интересных расширений, которые позволят вам не только изменять &laquo;на лету&raquo; свойства элементов (таких как свойство CSS <code>:hover</code>), но которые также позволяют вам изменять форму объектов, анимировать их движения и множество других возможностей, о которых мы расскажем в течение нашего курса.</p>
<p>Но все это лишь малая часть того, что можно делать с помощью библиотеки Mootools. В последующих 30 уроках мы копнем поглубже в эту чудесную библиотеку, открывая все новые и новые возможности работы с массивами и функциями, и в конце докопаемся до таких встроенных плагинов как FX.Slide (скольжение) и до массы других интересностей!</p>
<p>Итак, для дальнейшей работы вам понадобится <a href="http://mootools.net/download/">загрузить библиотеку Mootools</a> с официального сайта, после чего ее следует загрузить на ваш удаленный сервер или на локальную машину, в зависимости от того, где и как вы проводите свои учения и эксперименты. Потом в вашем документе, внутри тега <code>head</code>, нужно установить ссылку на местоположение библиотеки, следующим образом:</p>
<pre class="code">&lt;script src="mootools1.2core.js" type="text/javascript" /&gt;&lt;/script&gt;
</pre>
<p><em>(в нашем файл библиотеки находится в той же папке, что и сам html файл)</em></p>
<h2>Установка библиотеки Mootools 1.2</h2>
<p>А сейчас, когда вы связали исходный код Mootools с вашей веб страницей, нужно определить место, куда вы будете вставлять свой код. Для этого можно выбрать одну из двух возможностей:</p>
<ol>
<li>Поместить свой код в тег <strong>&lt;script&gt;</strong>, который, в свою очередь, нужно поместить в тег <code>head</code>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></div></div>

</li>
<li>Создайте внешний JavaScript-файл и создайте ссылку на него в теге <strong>&lt;head&gt;</strong>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;myJavaScriptFile.js&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></div></div>

</li>
</ol>
<p>Вы можете сами выбрать, каким методом будете вставлять ваш код в документ. Это сугубо ваше личное решение. Я буду вызывать все функции из события domready (что такое &laquo;событие domready&raquo;? читайте в следующем посте), заключенного в тегах <code>script</code>, но функции свои я буду создавать в отдельном внешнем файле JavaScript.</p>
<h3>Код Mootools нужно поместить в событие domready</h3>
<p>Функции Mootools нужно вызывать из события domready.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">window.<span style="color: #660066;">addEvent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'domready'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    exampleFunction<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h3>Вставьте его в функцию</h3>
<p>Но вы всегда можете создавать свои функции за пределами события domready, а потом уже вызвать их, когда событие domready произойдет.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> exampleFunction <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'hello'</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
window.<span style="color: #660066;">addEvent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'domready'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    exampleFunction<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h3>Описание библиотеки</h3>
<p>В этой первой части нашего курса мы подробно рассмотрим ключевые компоненты архитектуры библиотеки и пройдемся по основным ее функциям.</p>
<h4>Основа</h4>
<p>В основу Mootools заложены основные функции библиотеки, которые упрощают выполнение основных задач, а также усиливают возможности уже существующих (остановимся более подробно на этом позже). Возможности, указанные в списке ниже являются только лишь примеры некоторых возможностей Mootools, которые не заменяют чтения полной <a href="http://mootools.net/docs/">документации по Mootools</a>.</p>
<ul>
<li>Поиск значения (возвращает false, если значение не существует или 0, если существует) &#8211; <strong>$chk(значение)</strong>;</li>
<li>Возвращает целое число из указанного диапазона &#8211; <strong>$random (мин, макс)</strong>;</li>
<li>Позволяет с легкостью определять версию браузеров, их движком и возможностей.</li>
</ul>
<h4>Native</h4>
<p>Эта часть библиотеки также содержит некоторые основные инструменты, которые позволяют манипулировать массивами (по сути списком значений или объектов), функциями, числами, строками, потоками данных и событиями. Вот некоторые из инструментов, представленных в части Native:</p>
<ul>
<li>Создавать скрипты, которые бы применяли какие-либо действия к каждому объекту массива &#8211; <strong>.each()</strong>;</li>
<li>Выбирать последний объект массива &#8211; <strong>getLast()</strong>;</li>
<li>Создавать событие, которое бы происходило каждые х милисекунд &#8211; <strong>.periodical()</strong>;</li>
<li>Округлять дроби – <strong>.round()</strong>;</li>
<li>Конвертировать цвета из RGB в шестнадцетиричную систему исчисления &#8211; <strong>.rgbToHex()</strong>.</li>
</ul>
<h4>Класс</h4>
<p>Класс в JavaScript (в отличие от класса CSS) &#8211; это объект с некой функциональностью многоразового использования. Если у вас не плохо с английским, можно пройти на блог сайта mootools.net, и почитать более подробно информацию об <a href="http://blog.mootools.net/2008/2/5/mootools-classes-how-to-use-them">использовании классов</a>. Кстати, в мои планы входит также и перевод этой статьи. Также зарубежные спецы очень рекомендуют <a href="http://davidwalsh.name/mootools-12-class-template">шаблон класса Mootools с сайта Дэвида Уолша</a>.</p>
<h4>Элемент</h4>
<p>Классы элементов предоставляют, вероятно, самый полезный функционал библиотеки Mootools. С помощью этих инструментов можно выбирать элементы Dom-а, манипулировать их свойствами и положением на странице, изменять их стиль CSS и многое другое. Вот, что можно делать с помощью некоторых из инструментов Mootools:</p>
<ul>
<li>Выбирать первый элемент DOM-а определенного типа, с определенным ID или определенного класса &#8211; <strong>.getElement()</strong>;</li>
<li>Выбирать все элементы DOM-а имеющие  определенный тип, определенный ID или определенный класс &#8211; <strong>.getElements()</strong>;</li>
<li>Добавить определенный класс выбранному элементу &#8211; <strong>.addClass()</strong>;</li>
<li>Узнать значение свойства какого-либо элемента &#8211; <strong>.getProperty()</strong>;</li>
<li>Изменять или устанавливать значение свойства какого-либо элемента &#8211; <strong>.setProperty()</strong>;</li>
<li>Узнать значение свойства стиля какого-либо элемента &#8211; <strong>.getStyle()</strong>;</li>
<li>Изменить или установить значение свойства стиля какого-либо элемента &#8211; <strong>.setStyle()</strong>;</li>
<li>Узнать координаты элемента &#8211; <strong>.getCoordinates()</strong>.</li>
</ul>
<h3>Утилиты</h3>
<p>Утилиты Mootools предоставляют еще более удобные критерии поиска элементов на странице, включая событие domready, предоставляет дополнительные инструменты для запросов AJAX, упрощает работу с кукисами и даже включает в себя некоторый функционал, позволяющий объединить JavaScipt и ActionScript.</p>
<h3>Спец. эффекты FX</h3>
<p>Это, пожалуй, та часть Mootools, которая доставляет больше всего удовольствия и радости разработчикам. С помощью эффектов FX можно создавать эффекты передвижения, изменения формы, а также другие эффекты, которые добавляют анимации вашим объектам и элементам DOM.</p>
<p>С помощью Mootools можно:</p>
<ul>
<li>создавать анимированные переходы между двумы значениями стиля (например увеличивать элемент <strong>&lt;div&gt;</strong>) &#8211; <strong>var myFx = new FX.Tween(элемент)</strong>;</li>
<li>создавать анимированные переходы между множеством различных значений стилей (например, плавно увеличивать рамер элемента <strong>&lt;div&gt;</strong>, когда изменяется увет заднего плана, а линия его границы становится толще)  <strong>var myFx = new Fx.Morph(элемент)</strong>.</li>
</ul>
<h3>Запросы</h3>
<p>Эта часть Mootools содержит инструменты, упрощающие работу с запросом XMLHttpRequest (Ajax) JavaScript-a. Несмотря на то, запосы Mootools делают процесс запросов/ответов намного менее напряжным, они также предоставляют разработчику выбор между ответами в HTML или JSON (<em>Javascript Object Notation</em>).</p>
<h3>Плагины</h3>
<p>Плагины Mootools расширяют его основную функциональность, позволяя с легкостью манипулировать фнукиональность пользовательского интерфейса. Список плагинов Mootools включает в себя:</p>
<ul>
<li>Fx.Slide;</li>
<li>Fx.Scroll;</li>
<li>Fx.Elements;</li>
<li>Drag;</li>
<li>Drag.Move;</li>
<li>Color;</li>
<li>Group;</li>
<li>Hash.Cookie;</li>
<li>Sortables;</li>
<li>Tips;</li>
<li>SmoothScroll;</li>
<li>Slider;</li>
<li>Scroller;</li>
<li>Assets;</li>
<li>Accordion.</li>
</ul>
<p>В течение следующих 29 уроков мы углубимся в узкие темы этой библиотеки и разберем ее элементы на простые для понимания части.</p>
<p>В качестве еще одной полезности могу предложить вам вот эту <a href="/wp-content/uploads/mootools-12-cheat-sheet.pdf">таблицу</a>, в которой указаны все наиболее используемые элементы библиотеки, и все на одном листе А4. По желанию эту таблицу можно распечатать в плакатном формате и повесить на стену, чтоб &laquo;незабывать&raquo;.</p>
<p>Ну вот и конец первой части нашего курса. Для введения, может и многовато, по сравнению с официальной документацией, но, говорят, что чем более детальено описывается предмет, тем более проще учащимся вникнуть в его суть.</p>
<p align="right"><strong>Удачи!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://php.infoniac.ru/mootorial-introduction-day1.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
