<?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>JSToolbox - все о JavaScript &#187; скрипты</title>
	<atom:link href="http://www.jstoolbox.com/category/skripty/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jstoolbox.com</link>
	<description>Блог о программировании вообще и о JavaScript в частности, уроки, статьи, заметки, база знаний.</description>
	<lastBuildDate>Mon, 07 Mar 2011 18:19:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>LightGallery 1.3</title>
		<link>http://www.jstoolbox.com/2010/01/17/lightgallery-1-3/</link>
		<comments>http://www.jstoolbox.com/2010/01/17/lightgallery-1-3/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 20:51:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[lightbox]]></category>
		<category><![CDATA[скрипты]]></category>

		<guid isPermaLink="false">http://www.jstoolbox.com/?p=545</guid>
		<description><![CDATA[<p>После некоторого перерыва, я выпустил новую версию <a href="/proekty/lightgallery/" title="LightGallery">LightGallery</a> - скрипта-галереи в стиле lightbox. Основное отличие от других подобных скриптов состоит в том, что LightGallery не требует сторонних скриптов. Просто подключаете на веб-страницу, и все готово к работе.</p>]]></description>
			<content:encoded><![CDATA[<p>После некоторого перерыва, я выпустил новую версию <a href="/proekty/lightgallery/" title="LightGallery">LightGallery</a> &#8211; скрипта-галереи в стиле lightbox. Основное отличие от других подобных скриптов состоит в том, что LightGallery не требует сторонних скриптов. Просто подключаете на веб-страницу, и все готово к работе.</p>
<p><span id="more-545"></span></p>
<p>
Что нового в этой версии:</p>
<ul>
<li>Улучшена производительность; особенно это относится к IE.</li>
<li>Добавлена поддержка события <em>onDomReady</em>. Теперь скрипт инициализируется не дожидаясь, пока загрузятся все изображения. Вам не нужно отныне добавлять инициализацию скрипта в window.onload, достаточно просто lightgallery.init(); (однако старая конфигурация с window.onload также будет работать).</li>
<li>Добавлены 2 новые темы. Одна из них &#8211; shape, любезно предоставлена <a href="http://shape.com.ua">Shape Design Studio</a>, за что им большое спасибо.</li>
<li>Исправлен ряд мелких багов.</li>
</ul>
<p>
<a href="/js/lightgallery/demo/demo_ru.html" class="demo" title="LightGallery демо пример">Смотреть демо</a><a style="margin-left:18px" href="http://lightgallery.googlecode.com/files/lightgallery-1.3.zip" class="download" title="Скачать">Скачать</a><br/><br />
<a href="/proekty/lightgallery/" class="external">Страница проекта</a><a style="margin-left:18px" href="http://code.google.com/p/lightgallery/" class="external">Страница проекта на Google Code</a><br/>
</p>
<p><br/></p>
<div class="postLinks"><strong>При поддержке:</strong><br/>spuzom.ru &#8211; <a href="http://spuzom.ru/detail.php?id=16">первые признаки беременности</a> news.ad-auto.ru &#8211; <a href="http://news.ad-auto.ru/">последние автоновости</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jstoolbox.com/2010/01/17/lightgallery-1-3/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Raphaël &#8211; JavaScript библиотека для работы с графикой</title>
		<link>http://www.jstoolbox.com/2008/08/10/raphael-javascript-biblioteka-dlya-raboty-s-grafikoj/</link>
		<comments>http://www.jstoolbox.com/2008/08/10/raphael-javascript-biblioteka-dlya-raboty-s-grafikoj/#comments</comments>
		<pubDate>Sun, 10 Aug 2008 19:14:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Графика]]></category>
		<category><![CDATA[скрипты]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[VML]]></category>

		<guid isPermaLink="false">http://www.jstoolbox.com/2008/08/10/raphael-javascript-biblioteka-dlya-raboty-s-grafikoj/</guid>
		<description><![CDATA[Raphaël это маленькая библиотека JavaScript, которая может упростить работу с векторной графикой. Если вам нужно создать специфический график, обрезать или повернуть изображение, сделать отражение рисунка, то все это можно легко сделать при помощи этой библиотеки.



Raphaël использует SVG и VML в качестве основы для создания графики. Поскольку все создаваемые объекты являются элементами DOM, вы можете добавлять [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dmitry.baranovskiy.com/raphael/index.html" title="Raphael - библиотека JavaScript для работы с графикой">Raphaël</a> это маленькая библиотека JavaScript, которая может упростить работу с векторной графикой. Если вам нужно создать специфический график, обрезать или повернуть изображение, сделать отражение рисунка, то все это можно легко сделать при помощи этой библиотеки.</p>
<div class="entry_picture" style="width:470px">
<img src='http://www.jstoolbox.com/wp-content/uploads/2008/08/raphael.png' alt='Raphaël - JavaScript библиотека для работы с графикой' />
</div>
<p>Raphaël использует SVG и VML в качестве основы для создания графики. Поскольку все создаваемые объекты являются элементами DOM, вы можете добавлять к ним обработчики событий JavScript или модифицировать их как и любой другой элемент DOM. Цель библиотеки заключается в том, чтобы предоставить адаптер, который позволить легко и кроссбраузерно создавать графику. В данный момент библиотека поддерживает Firefox 2.0+, Safari 3.0+, Opera 9.5+ и Internet Explorer 6.0+.</p>
<h3>Использование</h3>
<p>Нужно загрузить и подключить библиотеку <strong>raphael.js</strong> в HTML страницу, затем использовать предоставляемые ею функции:</p>
<pre class="prettyprint">
// Создаём палитру 320 × 200 с координатами 10, 50
var paper = Raphael(10, 50, 320, 200);
// Создаем круг x = 50, y = 40, с радиусом 10
var circle = paper.circle(50, 40, 10);
// Устанавливаем цвет заполнения для круга
circle.attr("fill", "#f00");
// Устанавливаем цвет обводки
circle.attr("stroke", "#fff");
</pre>
<p>Скачать, просмотреть документацию и демо примеры библиотеки можно <a href="http://dmitry.baranovskiy.com/raphael/index.html">здесь</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jstoolbox.com/2008/08/10/raphael-javascript-biblioteka-dlya-raboty-s-grafikoj/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Новый скрипт для исправления прозрачных PNG в IE6</title>
		<link>http://www.jstoolbox.com/2008/07/17/novyj-skript-dlya-ispravleniya-prozrachnyx-png-v-ie6/</link>
		<comments>http://www.jstoolbox.com/2008/07/17/novyj-skript-dlya-ispravleniya-prozrachnyx-png-v-ie6/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 13:34:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[скрипты]]></category>

		<guid isPermaLink="false">http://www.jstoolbox.com/2008/07/17/novyj-skript-dlya-ispravleniya-prozrachnyx-png-v-ie6/</guid>
		<description><![CDATA[Для исправления старой проблемы с прозрачными PNG в IE 6, я часто пользовался скриптом IE PNG Fix, который использовал behavior для исправления этого бага. Этот скрипт благополучно исправлял как простые изображения, так и фоновые, однако одна проблема все же существует &#8211; это невозможность растягивать изображение при помощи background-repeat.
Вчера я узнал о новом скрипте Unit PNG [...]]]></description>
			<content:encoded><![CDATA[<p>Для исправления старой проблемы с прозрачными PNG в IE 6, я часто пользовался скриптом <a href="http://www.twinhelix.com/css/iepngfix/">IE PNG Fix</a>, который использовал behavior для исправления этого бага. Этот скрипт благополучно исправлял как простые изображения, так и фоновые, однако одна проблема все же существует &#8211; это невозможность растягивать изображение при помощи background-repeat.</p>
<p>Вчера я узнал о новом скрипте <a href="http://labs.unitinteractive.com/unitpngfix.php" title="Unit PNG Fix">Unit PNG Fix</a>, который может исправлять прозрачность изображений и при этом растягивать их. Заметьте, не повторять изображение, а именно растягивать, потому что свойство <strong>filter</strong> не позволяет повторять элементы. Это конечно не идеальный вариант и не для всех фоновых изображений подойдет, но все же таким образом можно симулировать повторение. Этот скрипт использует JavaScript вместо behavior для исправления прозрачности.</p>
<div class="entry_picture" style="width:479px">
<img src='http://www.jstoolbox.com/wp-content/uploads/2008/07/ie-png-fix.png' alt='Unit PNG Fix' />
</div>
<p>Для того, чтобы работать с этим скриптом, его достаточно просто подключить &#8211; не нужно создавать никаких объектов или вызывать функций при загрузке:</p>
<pre class="prettyprint">
&lt;script type="text/javascript" src="unitpngfix.js">&lt;/script>
</pre>
<p>Как и аналогичные скрипты, он требует также пустой gif файл clear.gif (входит в дистрибутив). Размер скрипта всего 1 килобайт.</p>
<p><a href="http://labs.unitinteractive.com/unitpngfix.php" class="download">скачать</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jstoolbox.com/2008/07/17/novyj-skript-dlya-ispravleniya-prozrachnyx-png-v-ie6/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Еще одно применение для window.name</title>
		<link>http://www.jstoolbox.com/2008/07/04/eshhe-odno-primenenie-dlya-windowname/</link>
		<comments>http://www.jstoolbox.com/2008/07/04/eshhe-odno-primenenie-dlya-windowname/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 20:06:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[скрипты]]></category>

		<guid isPermaLink="false">http://www.jstoolbox.com/2008/07/04/eshhe-odno-primenenie-dlya-windowname/</guid>
		<description><![CDATA[В JavaScript, свойство window.name обладает замечательным свойством сохранять свое содержимое при переходе с одной страницы на другую, причем это хранилище может вмещать до 2 мегабайт информации. Это достоинство уже получило применение в скрипте sessvars.js, который используется для реализации механизма сессий без использования cookies. Еще одно применение для этого свойства придумали создатели скрипта qUIpt &#8211; маленькой [...]]]></description>
			<content:encoded><![CDATA[<p>В JavaScript, свойство <strong>window.name</strong> обладает замечательным свойством сохранять свое содержимое при переходе с одной страницы на другую, причем это хранилище может вмещать до 2 мегабайт информации. Это достоинство уже получило применение в скрипте <a href="http://www.jstoolbox.com/2008/05/15/peremennye-sessij-bez-primeneniya-cookies/" title="Сессии без применения cookies">sessvars.js</a>, который используется для реализации механизма сессий без использования cookies. Еще одно применение для этого свойства придумали создатели скрипта <a href="http://code.google.com/p/quipt/" title="qUIpt">qUIpt</a> &#8211; маленькой библиотеки, которая может кэшировать файлы JavaScript в браузере пользователя.</p>
<div class="entry_picture" style="width:269px">
<img src='http://www.jstoolbox.com/wp-content/uploads/2008/07/quipt.png' alt='qUIpt' />
</div>
<p>Теперь о том, как это работает. Сначала скрипт проверяет содержимое переменной <strong>window.name</strong> во время загрузки страницы. Если переменная пустая, то необходимые файлы будут получены через AJAX и отправлены в этот кэш. Далее содержимое <strong>window.name</strong> будет выполнено интерпретатором. Если пользователь переходит на другую страницу на этом же домене, то файлы будут браться из кэша, не выполняя запросы к серверу. Автор утверждает, что используя этот скрипт можно улучшить скорость загрузки страниц. Думаю что сейчас трудно сказать верно ли это, и насколько практичен данный скрипт (это пока еще бета версия), однако идея мне понравилась.</p>
<p><a href="http://quipt.googlecode.com/svn/trunk/lib/" title="Скачать скрипт qUIpt" class="download">исходники</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jstoolbox.com/2008/07/04/eshhe-odno-primenenie-dlya-windowname/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Phototype &#8211; работа с изображениями в JavaScript (продолжение)</title>
		<link>http://www.jstoolbox.com/2008/07/01/phototype-rabota-s-izobrazheniyami-v-javascript-prodolzhenie/</link>
		<comments>http://www.jstoolbox.com/2008/07/01/phototype-rabota-s-izobrazheniyami-v-javascript-prodolzhenie/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 22:01:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Эффекты]]></category>
		<category><![CDATA[скрипты]]></category>

		<guid isPermaLink="false">http://www.jstoolbox.com/2008/07/01/phototype-rabota-s-izobrazheniyami-v-javascript-prodolzhenie/</guid>
		<description><![CDATA[Месяц назад я писал статью о клиент-серверном скрипте Phototype, который позволяет работать с изображениями (изменять размер, создавать эффект наброска, отбрасывать тень и др.) с использованием JavaScript. Работает он следующим образом: на стороне клиента выполняется скрипт, в котором указываем путь к изображения и что нам нужно сделать с ним, в результате создается элемент &#60;img&#62;, который указывает [...]]]></description>
			<content:encoded><![CDATA[<p>Месяц назад я писал статью о клиент-серверном скрипте <a href="http://www.jstoolbox.com/2008/05/24/phototype-rabota-s-izobrazheniyami-v-javascript/" title="Скрипт для работы с изображениями Phototype">Phototype</a>, который позволяет работать с изображениями (изменять размер, создавать эффект наброска, отбрасывать тень и др.) с использованием JavaScript. Работает он следующим образом: на стороне клиента выполняется скрипт, в котором указываем путь к изображения и что нам нужно сделать с ним, в результате создается элемент <strong>&lt;img&gt;</strong>, который указывает на скрипт php, выполняющий необходимые преобразования с помощью библиотеки GD. Таким образом можно динамически создавать и изменять нужные нам изображения, управляя всем процессом из JavaScript.</p>
<p>На днях мне довелось использовать этот скрипт на практике и сразу же обнаружились некоторые недостатки, исправив которые я получил новый скрипт, которым и хочу поделиться с вами. Но сначала о недостатках старого скрипта. Первый недостаток это зависимость скрипта от библиотеки <a href="http://prototypejs.org/" title="Библиотека Prototype">Prototype</a>. Во многих случаях использование JavaScript  фреймворков является плюсом, ибо значительно облегчает дальнейшую работу со скриптами, но не в этом случае, ибо скрипт использовал всего лишь пару возможностей Prototype, а именно создание класса Photo и создание элемента <strong>img</strong>. Подключать ради этого такую большую библиотеку просто неразумно. В моем случае на сайте использовалась библиотека <a href="http://mootools.net" title="Библиотека Mootools">Mootools</a>, и подключать дополнительную Prototype я желания не имел, отчего и пришлось переработать скрипт. Второй недостаток, это отсутствие поддержки прозрачности для изображений. Если я использовал, к примеру, эффект вращения, то фон возле изображения обязательно заполнялся белым цветом. То же самое и при добавлении тени, где на фоне теней виднелся белый фон. То есть, такие эффекты скрипта, как вращение и отбрасывание тени, можно эффективно применять только на белом фоне, иначе получается совсем не то, что хотелось бы.</p>
<p><span id="more-162"></span></p>
<p>Теперь о том, что же я исправил в скрипте. Во первых полное избавление от зависимости со стороны Prototype. Во вторых добавлена поддержка прозрачности и возможность устанавливать цвет фона при помощи функции <strong>setBgColor()</strong>:</p>
<pre class="prettyprint">
var img = new Photo().load('image.jpg').addCaption('Hello').setBgColor(255,255,255,10);
document.getElementById('e10').appendChild(img.fetch());
</pre>
<p>Первые три параметра функции <strong>setBgColor()</strong> &#8211; это значения для красного, зеленого, и синего цветов (0 &#8211; 255), а последний, четвертый параметр &#8211; это значение прозрачности (0 &#8211; 127).</p>
<p>В третьих, добавлена возможность добавлять дополнительное изображение поверх основного. Верней сказать, не добавлена а исправлена такая возможность, ибо в старой версии существовала функция <strong>addChuckNorris()</strong>, которая добавляла гордый профиль Чака Норриса поверх изображений (автор либо его поклонник либо просто шутник <img src='http://www.jstoolbox.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ). Я эту функцию преобразовал в <strong>addForeImage()</strong>:</p>
<pre class="prettyprint">
var img = new Photo().load('photo.png').addForeImage('chuck.png');
document.getElementById('e2').appendChild(img.fetch());
</pre>
<p>В качестве параметра она принимает имя файла JPEG или PNG, который должен быть в папке images. Скрипт автоматически изменяет размер изображение и помещает поверх основного в крайнем левом углу (возможность управлять размерами и положением этого изображения будет полем деятельности при разработке следующей версии).</p>
<p>В четвертых, добавлена возможность работать не только с файлами JPG , но и с файлами PNG, что при возможностях последнего делает скрипт значительно более полезным.</p>
<p>Ну и последнее, в моем скрипте можно устанавливать путь к библиотеке при помощи функции <strong>setImgPath()</strong>. То есть, если вы поместили библиотеку в /demo/phototype , то для правильного отображения нужно вызывать функцию следующим образом:</p>
<pre class="prettyprint">
var img = new Photo().setImgPath('/demo/phototype');
</pre>
<p>В старом скрипте путь указывался относительным, т.е. изображения имели атрибут src=&#8221;image.php?&#8230;..&#8221;, и если скрипт располагался где-то во вложенных папках, то браузер просто не находил его.</p>
<p>На этом все мои усовершенствования и заканчиваются, хотя поле деятельности здесь потенциально очень большой и ограничивается лишь возможностями библиотеки GD. Есть также идею заюзать какую-нибудь библиотеку вроде <a href="http://asido.info/">Aside</a>, которая может делать и ресайз и водяные знаки и многое другое. Может из этого что-нибудь и получится.</p>
<p><a href="/download/phototype.zip" class="download" title="Скачать скрипт">скачать</a><a href="/demo/phototype/test.html" class="demo" style="margin-left:18px">смотреть демо</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jstoolbox.com/2008/07/01/phototype-rabota-s-izobrazheniyami-v-javascript-prodolzhenie/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

