<?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>Developer Blog &#187; javascript</title>
	<atom:link href="http://451f.com.ua/tag/javascript/feed" rel="self" type="application/rss+xml" />
	<link>http://451f.com.ua</link>
	<description>developer blog - 451 degrees Fahrenheit</description>
	<lastBuildDate>Sun, 04 Jul 2010 21:22:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Караоке с помощью javascript и Flash</title>
		<link>http://451f.com.ua/raise-your-glasses-and-voices-a-karaoke-lyrics-scroller-in-javascript/274</link>
		<comments>http://451f.com.ua/raise-your-glasses-and-voices-a-karaoke-lyrics-scroller-in-javascript/274#comments</comments>
		<pubDate>Thu, 11 Sep 2008 10:55:55 +0000</pubDate>
		<dc:creator>pilot</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[Sound]]></category>

		<guid isPermaLink="false">http://451f.com.ua/?p=274</guid>
		<description><![CDATA[Отличная реализация караоке с использование ранее описаной мной javascript библиотеки, которая работает с музыкальными файлами SoundManager2 и текстов в формате StepMania. Что из этого получилось: Но лучше всего увидить и спеть самому: http://dt.in.th/src/lyricscroll/ , правда автор этой штуковины из Тайланда, но я не думаю, для &#8220;нашего&#8221; человека после пива это будет являться проблемой.]]></description>
			<content:encoded><![CDATA[<p>Отличная реализация караоке с использование ранее описаной мной javascript библиотеки, которая работает с музыкальными файлами <a href="http://451f.com.ua/2008/07/07/soundmanager-2-update-flash-9-and-chorus-effects/">SoundManager2</a> и текстов в формате <a href="http://www.bemanistyle.com/forum/f93/how-create-properly-running-lrc-file-stepmania-10107/" target="_blank">StepMania</a>.</p>
<p>Что из этого получилось:</p>
<p><a href="http://451f.com.ua/img/2008/09/lyrics-scroller.png"><img class="aligncenter size-medium wp-image-275" title="lyrics-scroller" src="http://451f.com.ua/img/2008/09/lyrics-scroller-214x300.png" alt="" width="214" height="300" /></a></p>
<p>Но лучше всего увидить и спеть самому: <a href="http://dt.in.th/src/lyricscroll/">http://dt.in.th/src/lyricscroll/</a> , правда автор этой штуковины из Тайланда, но я не думаю, для &#8220;нашего&#8221; человека после пива это будет являться проблемой.</p>
]]></content:encoded>
			<wfw:commentRss>http://451f.com.ua/raise-your-glasses-and-voices-a-karaoke-lyrics-scroller-in-javascript/274/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flexigrid, легкие и красивые таблицы с jquery</title>
		<link>http://451f.com.ua/lightweight-grid-control-for-jquery/154</link>
		<comments>http://451f.com.ua/lightweight-grid-control-for-jquery/154#comments</comments>
		<pubDate>Fri, 18 Jul 2008 15:08:35 +0000</pubDate>
		<dc:creator>pilot</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[grid]]></category>

		<guid isPermaLink="false">http://451f.com.ua/2008/07/18/lightweight-grid-control-for-jquery/</guid>
		<description><![CDATA[Рано или позно в наший проектах приходится испльзовать таблицы, и дабы облегчить себе и пользователям жизнь такие помошники как Flexigrid &#8211; незаменимы! Автор вдохновился таблицами от такого монстра в это деле как ExtJS и реализовал их на jquery. А вот и список фич: Изменяемый размер колонок Изменяемая высота и ширина Сортировка в заголовке Прикольный шаблончик [...]]]></description>
			<content:encoded><![CDATA[<p>Рано или позно в наший проектах приходится испльзовать таблицы, и дабы облегчить себе и пользователям жизнь такие помошники как <a href="http://www.webplicity.net/flexigrid/" target="_blank">Flexigrid</a> &#8211; незаменимы!</p>
<p><a href="http://www.webplicity.net/flexigrid/flexigrid.zip"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://451f.com.ua/img/2008/07/flexgrid.png" border="0" alt="flexgrid" width="640" height="322" /></a></p>
<p>Автор вдохновился таблицами от такого монстра в это деле как <a href="http://extjs.com/" target="_blank">ExtJS</a> и реализовал их на <a href="http://jquery.com/" target="_blank">jquery</a>.</p>
<p><strong>А вот и список фич:</strong></p>
<ul type="square">
<li>Изменяемый размер колонок</li>
<li>Изменяемая высота и ширина</li>
<li>Сортировка в заголовке</li>
<li>Прикольный шаблончик</li>
<li>Возможно преобразовать в обычную таблицу</li>
<li>Возможно подключить ajax&#8217;ом файл с данными (XML либо JSON)</li>
<li>Страницы</li>
<li>Показывать/Скрыть столбец</li>
<li>Тулбар</li>
<li>Поиск</li>
<li>Простой API</li>
<li>И еще куча всего</li>
</ul>
<p>Основная задача &#8211; это сохрнить небольшой размер библиотеки с большим функционалом, в противном случае лучше использовать ExtJS либо YUI</p>
]]></content:encoded>
			<wfw:commentRss>http://451f.com.ua/lightweight-grid-control-for-jquery/154/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SoundManager2 &amp;mdash  ̶̶̶̶  музыка на сайте используя javascript</title>
		<link>http://451f.com.ua/soundmanager-2-update-flash-9-and-chorus-effects/109</link>
		<comments>http://451f.com.ua/soundmanager-2-update-flash-9-and-chorus-effects/109#comments</comments>
		<pubDate>Mon, 07 Jul 2008 14:07:44 +0000</pubDate>
		<dc:creator>pilot</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Sound]]></category>

		<guid isPermaLink="false">http://451f.com.ua/2008/07/07/soundmanager-2-update-flash-9-and-chorus-effects/</guid>
		<description><![CDATA[SoundManager 2 — это звуковой API, которого так нехватает в Javascript. На сегодняшний день наиболее удобный способ создания музыкальных плееров, это использовать Flash. Но не все так печально, javascript библиотека SoundManager 2 мало того, что имеет функциональность не слабее, а даже больше чем у Flash&#8217;s. Использовать звуковые эффекты на сайте с SoundManager 2 очень просто [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://schillmania.com/projects/soundmanager2/" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://451f.com.ua/img/2008/07/soundmangerflash9.png" border="0" alt="soundmangerflash9" width="345" height="87" /></a></p>
<p><a href="http://schillmania.com/projects/soundmanager2/" target="_blank">SoundManager 2</a> — это звуковой API, которого так нехватает в Javascript.</p>
<blockquote><p>На сегодняшний день наиболее удобный способ создания музыкальных плееров, это использовать Flash.</p></blockquote>
<p>Но не все так печально, javascript библиотека <a href="http://schillmania.com/projects/soundmanager2/" target="_blank">SoundManager 2</a> мало того, что имеет функциональность не слабее, а даже больше чем у Flash&#8217;s. Использовать звуковые эффекты на сайте с <a href="http://schillmania.com/projects/soundmanager2/" target="_blank">SoundManager 2</a> очень просто и быстро.</p>
<p>Пример: <a href="http://schillmania.com/projects/soundmanager2/demo/page-player/#debug=1" target="_blank">Страница как &#8211; play list</a></p>
<p><a href="http://schillmania.com/projects/soundmanager2/demo/page-player/#debug=1" target="_blank"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://451f.com.ua/img/2008/07/page-as-playlist.png" border="0" alt="page as playlist" width="665" height="429" /></a></p>
<p>Пример: <a href="http://schillmania.com/projects/soundmanager2/demo/play-mp3-links/" target="_blank">Ссылки на MP3 файлы, сразу проигрываются</a></p>
<p><a href="http://schillmania.com/projects/soundmanager2/demo/play-mp3-links/" target="_blank"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://451f.com.ua/img/2008/07/mp3-links-on-a-page.png" border="0" alt="MP3 Links on a page" width="659" height="480" /></a></p>
<p>Немало важно то, что <a href="http://schillmania.com/projects/soundmanager2/" target="_blank">SoundManager 2</a> полностью совместим с Flash 8, и в данный момент в beta версии поддерживает и Flash 9</p>
]]></content:encoded>
			<wfw:commentRss>http://451f.com.ua/soundmanager-2-update-flash-9-and-chorus-effects/109/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>qUIpt &#8211; библиотека для кеширования javascript файлов</title>
		<link>http://451f.com.ua/quipt-caching-js-in-windowname/105</link>
		<comments>http://451f.com.ua/quipt-caching-js-in-windowname/105#comments</comments>
		<pubDate>Fri, 04 Jul 2008 15:56:21 +0000</pubDate>
		<dc:creator>pilot</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[chaching]]></category>

		<guid isPermaLink="false">http://451f.com.ua/2008/07/04/quipt-caching-js-in-windowname/</guid>
		<description><![CDATA[Небольшая, но очень полезная библиотека, которая кеширует Javascript файлы внутри браузера, работает даже через SSL. Основаная идея это уменьшения тарафика для владельцев сайтов и уменьшение скорости загрузки страниц для пользователей. О том как это чудо работает можно прочитать на офф сайте. А примерчик можно посмотреть в живую прям здесь. Немного объясню суть примера, там всего [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/quipt/" target="_blank"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="178" alt="qUIpt" src="http://451f.com.ua/img/2008/07/quipt.png" width="240" border="0"></a> </p>
<p>Небольшая, но очень полезная библиотека, которая кеширует Javascript файлы внутри браузера, работает даже через SSL. Основаная идея это уменьшения тарафика для владельцев сайтов и уменьшение скорости загрузки страниц для пользователей.</p>
<p>О том как это чудо работает можно прочитать на <a href="http://code.google.com/p/quipt/" target="_blank">офф сайте</a>.</p>
<p>А примерчик можно посмотреть в живую прям <a href="http://451f.com.ua/practice/quipt/test.html" target="_blank">здесь</a>.</p>
<p>Немного объясню суть примера, там всего лишь одна ссылка, но при первой загрузке файла примера, дополнительно подгружаются 3 библиотеки:</p>
<ul>
<li>dummy-js-file-01.js</li>
<li>dummy-js-file-02.js</li>
<li>jquery-1.2.6.min.js</li>
</ul>
<ul>Firebug &#8211; показал первую скорость загрузки старинцы со скриптами <strong>233 ms</strong>, в это время <strong>quipt</strong>&nbsp; кешируют javascript файлы и после обновлия страницы скорость равна <strong>0 ms</strong>, впечатляет!</ul>
]]></content:encoded>
			<wfw:commentRss>http://451f.com.ua/quipt-caching-js-in-windowname/105/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Картинка вместо стандартного checkbox</title>
		<link>http://451f.com.ua/image_insted_standart_checkbox/39</link>
		<comments>http://451f.com.ua/image_insted_standart_checkbox/39#comments</comments>
		<pubDate>Tue, 13 May 2008 13:00:42 +0000</pubDate>
		<dc:creator>pilot</dc:creator>
				<category><![CDATA[Prototype]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mootools]]></category>

		<guid isPermaLink="false">http://451f.com.ua/?p=39</guid>
		<description><![CDATA[На самом деле checkbox и есть картинка, но в данном примере мы стандартную картинку заменим своей красивой! Собственно надоели убогие checkbox&#8217;ы и захотелось красоты, вот что было найдено на эту тему Fancy Form &#8211; http://lipidity.com/fancy-form Использует как основу javascript framework Mootools 1.11, облегченная версия которого входит в пакет загрузки Fancy Form Второй не менее интересный [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>На самом деле checkbox и есть картинка, но в данном примере мы стандартную картинку заменим своей красивой!</p></blockquote>
<p>Собственно надоели убогие checkbox&#8217;ы и захотелось красоты, вот что было найдено на эту тему</p>
<p><strong>Fancy Form</strong> &#8211; <a href="http://lipidity.com/fancy-form" target="_blank">http://lipidity.com/fancy-form</a></p>
<p><img style="border: 0pt none;" src="http://451f.com.ua/img/2008/05/fancyform.jpg" alt="Fancy Form checkbox" /></p>
<p>Использует как основу javascript framework <strong>Mootools 1.11</strong>, облегченная версия которого входит в пакет загрузки <strong>Fancy Form</strong></p>
<p>Второй не менее интересный вариант это <strong>Protocheck</strong> &#8211; <a href="http://bugrain.com/projects/protocheck/">http://bugrain.com/projects/protocheck/</a></p>
<p><img style="border: 0pt none;" src="http://451f.com.ua/img/2008/05/protocheck.jpg" alt="Protocheck checkbox" /></p>
<p>Использует javascript framework <strong>Prototype</strong> &#8211; в пакет закачки эта библиотека не входит, ее нужно отдельно скачивать на  сайте разработчика <a href="www.prototypejs.com" target="_blank">www.prototypejs.com</a></p>
<p>Я выбрал для работы Protocheck, но не из-за его качеств, а только из-за того что он использует protoype, который в данный момент уже присутствует в проекте, т.е. основная цель &#8211; это не плодить javascript библиотеки.</p>
]]></content:encoded>
			<wfw:commentRss>http://451f.com.ua/image_insted_standart_checkbox/39/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jaxer &#8211; The Ajax Server от Aptana Studio IDE</title>
		<link>http://451f.com.ua/jaxer-the-ajax-server-%d0%be%d1%82-aptana-studio-ide/37</link>
		<comments>http://451f.com.ua/jaxer-the-ajax-server-%d0%be%d1%82-aptana-studio-ide/37#comments</comments>
		<pubDate>Wed, 30 Apr 2008 19:14:52 +0000</pubDate>
		<dc:creator>pilot</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[aptana]]></category>
		<category><![CDATA[jaxer]]></category>

		<guid isPermaLink="false">http://451f.com.ua/?p=37</guid>
		<description><![CDATA[Новая разработка Jaxer &#8211; выводит приложения использующие технологию Ajax на новый уровень. Он позволяет работать с JavaScript, HTML, DOM и CSS как на стороне клиента, так и сервера (поддерживается стандарт JavaScript 1.8) Полную статью на русском читаем здесь.]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="border: 0pt none; float: left;" src="http://451f.com.ua/img/2008/04/jaxerlogo.jpg" alt="jaxer - ajax server" width="250" height="72" />Новая разработка <strong>Jaxer</strong> &#8211; выводит приложения использующие технологию Ajax на новый уровень.</p>
<p>Он позволяет работать с JavaScript, HTML, DOM и CSS как на стороне клиента, так и сервера (поддерживается стандарт JavaScript 1.8)</p>
<p>Полную статью на русском читаем <a title="Jaxer - Ajax server" href="http://abrdev.com/?p=233" target="_blank">здесь</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://451f.com.ua/jaxer-the-ajax-server-%d0%be%d1%82-aptana-studio-ide/37/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Доллар function, $() в prototype</title>
		<link>http://451f.com.ua/prototipe_triks_function/20</link>
		<comments>http://451f.com.ua/prototipe_triks_function/20#comments</comments>
		<pubDate>Mon, 10 Dec 2007 16:07:17 +0000</pubDate>
		<dc:creator>pilot</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://451f.com.ua/2007/12/10/prototipe_triks__function/</guid>
		<description><![CDATA[В основном, это простая ссылка на document.getElementById(), но несколько более расширенная чем просто ссылка. Ниже показан пример использования: [cc lang="php"] node = $(&#8216;elementID&#8217;); // То же самое node = document.getElementById(&#8216;elementID&#8217;); // Так же можно получать не только один елемент // В этом случае результат будет массивом DOM елементов nodes = $(&#8216;firstDiv&#8217;, &#8216;secondDiv&#8217;); [/cc] Prototype так [...]]]></description>
			<content:encoded><![CDATA[<p>В основном, это простая ссылка на <font face="Courier New"><em>document.getElementById()</em>, но несколько более расширенная чем просто ссылка. Ниже показан пример использования:</font></p>
<p>[cc lang="php"]<br />
node = $(&#8216;elementID&#8217;);</p>
<p>// То же самое<br />
node = document.getElementById(&#8216;elementID&#8217;);</p>
<p>// Так же можно получать не только один елемент<br />
// В этом случае результат будет массивом DOM елементов<br />
nodes = $(&#8216;firstDiv&#8217;, &#8216;secondDiv&#8217;);<br />
[/cc]</p>
<p><a href="http://prototypejs.org" title="prototypejs.org" target="_blank">Prototype</a> так же предлагает функцию, ее нет в ядре JavaScript, которая возвращается массив DOM елементов и как аргумент она принимает имя css класса (class name):<br />
[cc lang="php"]<br />
nodes = document.getElementByClassName(&#8216;myclass&#8217;);<br />
[/cc]</p>
<p>Однако, я думаю использовать ее вы будете редко, так как <a href="http://prototypejs.org" title="prototypejs.org" target="_blank">Prototype</a> предлагает более расширенную функцию двойной доллар, $$(). Эта фунция возвращает массив DOM елементов основанных на CSS селекторе (css selector). Таким образом код показанный выше можно записать так:</p>
<p>[cc lang="php"]<br />
nodes = $$(&#8216;.myclass&#8217;);<br />
[/cc]</p>
<p>Благодаря мощьности CSS селекторов (css selectors) вы можете парсить модель DOM по классам (class), ID, и родитель-наследник (parent-child) и предыдущий-следующий (previous-next) связям, гораздо проще чем при использовании XPath выражений. Вы можете получить доступ к элементу через сложную комбинацию селекторов:</p>
<p>[cc lang="php"]<br />
nodes = $$(&#8216;body div#main ul li.last img &gt; span.legend&#8217;);<br />
[/cc]</p>
<p>И последний пример улучшения синтаксиса предлагаемого <a href="http://prototypejs.org" title="prototypejs.org" target="_blank">Prototype</a> — это each array iterator, подобно как в PHP:</p>
<p>[cc lang="php"]<br />
var vegetables = ['Carrots', 'Lettuce', 'Garlic'];<br />
vegetables.each(function(food) { alert(&#8216;I love &#8216; + food); });<br />
[/cc]</p>
<p>Не забывайте подписывать на рассылку.</p>
<p>Дальше будет еще много интересного.</p>
]]></content:encoded>
			<wfw:commentRss>http://451f.com.ua/prototipe_triks_function/20/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
