<?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/"
	>

<channel>
	<title>AJAX24</title>
	<atom:link href="http://www.flash-free.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flash-free.org</link>
	<description>Componentes y Efectos AJAX</description>
	<pubDate>Sat, 23 Jan 2010 10:57:53 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Idle Spy para Mootools - Detectando la ausencia de interacción</title>
		<link>http://www.flash-free.org/2010/01/22/idle-spy-para-mootools-detectando-la-ausencia-de-interaccionmootools-idle-spy-detecting-the-idle-status/</link>
		<comments>http://www.flash-free.org/2010/01/22/idle-spy-para-mootools-detectando-la-ausencia-de-interaccionmootools-idle-spy-detecting-the-idle-status/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 00:03:15 +0000</pubDate>
		<dc:creator>aartiles</dc:creator>
		
		<category><![CDATA[Componentes]]></category>

		<category><![CDATA[Mootools]]></category>

		<category><![CDATA[ajax]]></category>

		<category><![CDATA[class]]></category>

		<category><![CDATA[idle]]></category>

		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.flash-free.org/?p=170</guid>
		<description><![CDATA[
Nuestra misión como programadores es velar por los recursos de nuestros usuarios y por los de nuestro servidor. Las aplicaciones ajax suelen realizar constantes pedidos al servidor, y aunque cambiemos de ventana o pestaña suelen continuar ejecutándose malgastando CPU del usuario, y ancho de banda y otros recursos del servidor.
Imaginemos una aplicación como Gmail, que [...]]]></description>
			<content:encoded><![CDATA[
<p>Nuestra misión como programadores es velar por los recursos de nuestros usuarios y por los de nuestro servidor. Las aplicaciones <strong>ajax</strong> suelen realizar constantes pedidos al servidor, y aunque cambiemos de ventana o pestaña suelen continuar ejecutándose malgastando CPU del usuario, y ancho de banda y otros recursos del servidor.</p>
<p>Imaginemos una aplicación como <a href="http://gmail.com">Gmail</a>, que esté constantemente chequeando si hay nuevos correos en el servidor para mostrarlos, además actualizando cada un minuto las <a href="http://www.bitacoradewebmaster.com/2010/01/19/fechas-en-formato-tiempo-transcurridotime-ago-con-php/">fechas en formato time ago</a> para mostrar el tiempo transcurrido desde que se recibió el correo. Si cambiamos de pestaña, muchas de esas acciones se deberían detener mientras no volvamos. Si abrís decenas de pestañas a la vez como yo y en un navegador tan goloso de memoria como Firefox, tened por seguro que las apps que no optimizan sus recursos terminarán saturando el navegador.</p>
<p>Hoy os traigo la clase <strong>IdleSpy para Mootools</strong> que monitoriza los eventos de ratón y teclado para <strong>determinar si el usuario está interactuando con la página</strong> y establecer un <strong>estado de inactividad (idle)</strong> para detener ciertas acciones o enviar un mensaje y llamar la atención del usuario.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p170code3'); return false;">Ver código</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p1703"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
</pre></td><td class="code" id="p170code3"><pre class="javascript" style="font-family:monospace;">  <span style="color: #003366; font-weight: bold;">var</span> IdleSpy <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> <span style="color: #003366; font-weight: bold;">Class</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
    Implements<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>Options<span style="color: #339933;">,</span> Events<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
&nbsp;
    options<span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span>
      idleTime<span style="color: #339933;">:</span> <span style="color: #CC0000;">60000</span> <span style="color: #006600; font-style: italic;">//1 min</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
&nbsp;
    initialize<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>options<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">setOptions</span><span style="color: #009900;">&#40;</span>options<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">idle</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
      documente.<span style="color: #660066;">id</span><span style="color: #009900;">&#40;</span>document.<span style="color: #660066;">body</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addEvents</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #3366CC;">'mousemove'</span><span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">doBack</span>.<span style="color: #660066;">bind</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
        <span style="color: #3366CC;">'mousewheel'</span><span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">doBack</span>.<span style="color: #660066;">bind</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
        <span style="color: #3366CC;">'keydown'</span><span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">doBack</span>.<span style="color: #660066;">bind</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>
      <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
&nbsp;
    start<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; font-weight: bold;">this</span>.<span style="color: #660066;">idleTimer</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">doIdle</span>.<span style="color: #660066;">delay</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">options</span>.<span style="color: #660066;">idleTime</span><span style="color: #339933;">,</span> <span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
&nbsp;
    doBack<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; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">idleTimer</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        $clear<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">idleTimer</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
      <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">idle</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">idle</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">fireEvent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'back'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
      <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">start</span><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: #339933;">,</span>
&nbsp;
    doIdle<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; font-weight: bold;">this</span>.<span style="color: #660066;">idle</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span>
      <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">fireEvent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'idle'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">idleTimer</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">doIdle</span>.<span style="color: #660066;">delay</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">options</span>.<span style="color: #660066;">idleTime</span><span style="color: #339933;">,</span> <span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>La clase es bien sencilla de utilizar, creamos una instancia pasándole como parámetro el tiempo en milisegundos para considerar el estado de idle y podemos escuchar dos eventos <strong>idle</strong> o <strong>back</strong> para ser notificado cuando el usuario vuelva a interactuar con la página.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p170code4'); return false;">Ver código</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p1704"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code" id="p170code4"><pre class="javascript" style="font-family:monospace;"> <span style="color: #003366; font-weight: bold;">var</span> idleSpy <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> IdleSpy<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
   idleTime<span style="color: #339933;">:</span> <span style="color: #CC0000;">300000</span>
 <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
 idleSpy.<span style="color: #660066;">addEvents</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
   <span style="color: #3366CC;">'idle'</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> <span style="color: #009966; font-style: italic;">/* on user idle code here */</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
   <span style="color: #3366CC;">'back'</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> <span style="color: #009966; font-style: italic;">/* on user back code here */</span> <span style="color: #009900;">&#125;</span>
 <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
 idleSpy.<span style="color: #660066;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>No la he probado demasiado aun, así que espero comentarios <img src='http://www.flash-free.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Soluciones para otros frameworks AJAX:</p>
<ul>
<li>YUI: <a href="http://www.nczonline.net/blog/2009/06/02/detecting-if-the-user-is-idle-with-javascript-and-yui-3/">Detecting if the user is idle with JavaScript and YUI 3</a></li>
<li>jQuery: <a href="http://paulirish.com/2009/jquery-idletimer-plugin/">jQuery idleTimer plugin</a></li>
<li>Prototype: <a href="http://www.andrewsellick.com/67/simple-javascript-idle-state-using-prototype">Simple JavaScript Idle State using Prototype</a></li>
</ul>
<p>Update1: añadido chequeo de del evento mousewheel<br />
Update2: añadido this.start() al onBack, bug señalado por eneko.</p>
<p>Si quieres saber en qué trabajo ahora sígueme en twitter <a href="http://twitter.com/aartiles24">@aartiles24</a></p>

]]></content:encoded>
			<wfw:commentRss>http://www.flash-free.org/2010/01/22/idle-spy-para-mootools-detectando-la-ausencia-de-interaccionmootools-idle-spy-detecting-the-idle-status/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PNG Fix para IE6 con Mootools - e24PNGFix</title>
		<link>http://www.flash-free.org/2009/06/22/png-fix-para-ie6-con-mootools-e24pngfixpng-fix-for-ie6-with-mootools-e24pngfix/</link>
		<comments>http://www.flash-free.org/2009/06/22/png-fix-para-ie6-con-mootools-e24pngfixpng-fix-for-ie6-with-mootools-e24pngfix/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 08:00:01 +0000</pubDate>
		<dc:creator>aartiles</dc:creator>
		
		<category><![CDATA[Componentes]]></category>

		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[Mootools]]></category>

		<category><![CDATA[plugin]]></category>

		<category><![CDATA[png fix]]></category>

		<category><![CDATA[png ie]]></category>

		<category><![CDATA[png transparente]]></category>

		<guid isPermaLink="false">http://www.flash-free.org/?p=143</guid>
		<description><![CDATA[
Yo siempre me he declarado abiertamente en contra del uso Internet Explorer 6. IE me hace perder 3 o 4 horas de trabajo todos los días y nos pone a los desarrolladores web en la disyuntiva de limitar nuestras posibilidades de creación o renunciar a una cuota de mercado que aun no es despreciable.
Uno de [...]]]></description>
			<content:encoded><![CDATA[
<p>Yo siempre me he declarado abiertamente en contra del uso Internet Explorer 6. IE me hace perder 3 o 4 horas de trabajo todos los días y nos pone a los desarrolladores web en la disyuntiva de limitar nuestras posibilidades de creación o renunciar a una cuota de mercado que aun no es despreciable.</p>
<p>Uno de los principales problemas de IE6 es su incompatibilidad con los PNGs transparentes, aunque esto es solucionable mediante uno de sus filtros de css. Hasta ahora yo había utilizado <a href="http://www.clientcide.com/docs/Browser/FixPNG">FixPNG de ClientCide</a>, pero he detectado una limitación cuando aplicamos un efecto de transición de opacidad a un PNG transparente en IE6 o IE7, ya sea con el Tween o el Morph. </p>
<p>FixPNG soluciona el problema de la transparencia del PNG añadiendo la propiedad de css <em>filter</em>:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p143code10'); return false;">Ver código</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p14310"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code" id="p143code10"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> replacement <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Element<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'span'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>
	id<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>el.<span style="color: #660066;">id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">?</span>el.<span style="color: #660066;">id</span><span style="color: #339933;">:</span><span style="color: #3366CC;">''</span><span style="color: #339933;">,</span>
	<span style="color: #3366CC;">'class'</span><span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>el.<span style="color: #660066;">className</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">?</span>el.<span style="color: #660066;">className</span><span style="color: #339933;">:</span><span style="color: #3366CC;">''</span><span style="color: #339933;">,</span>
	title<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>el.<span style="color: #660066;">title</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">?</span>el.<span style="color: #660066;">title</span><span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>el.<span style="color: #660066;">alt</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">?</span>el.<span style="color: #660066;">alt</span><span style="color: #339933;">:</span><span style="color: #3366CC;">''</span><span style="color: #339933;">,</span>
	styles<span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span>
		display<span style="color: #339933;">:</span> vis<span style="color: #339933;">?</span><span style="color: #3366CC;">'inline-block'</span><span style="color: #339933;">:</span><span style="color: #3366CC;">'none'</span><span style="color: #339933;">,</span>
		width<span style="color: #339933;">:</span> dim.<span style="color: #660066;">x</span><span style="color: #339933;">,</span>
		height<span style="color: #339933;">:</span> dim.<span style="color: #660066;">y</span><span style="color: #339933;">,</span>
		filter<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;progid:DXImageTransform.Microsoft.AlphaImageLoader (src='&quot;</span> 
			<span style="color: #339933;">+</span> el.<span style="color: #660066;">src</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;', sizingMethod='scale');&quot;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
	src<span style="color: #339933;">:</span> el.<span style="color: #660066;">src</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Hasta aquí bien, pero el problema radica en que cuando modificamos la opacidad de un elemento con Mootools en Internet Explorer, este lo que hace a través de la misma propiedad de CSS <em>filter</em>.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p143code11'); return false;">Ver código</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p14311"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p143code11"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>Browser.<span style="color: #660066;">Engine</span>.<span style="color: #660066;">trident</span><span style="color: #009900;">&#41;</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">style</span>.<span style="color: #660066;">filter</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>opacity <span style="color: #339933;">==</span> <span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">?</span> <span style="color: #3366CC;">''</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">'alpha(opacity='</span> <span style="color: #339933;">+</span> opacity <span style="color: #339933;">*</span> <span style="color: #CC0000;">100</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">')'</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Por tanto nuestro efecto de transición de opacidad funcionará pero el PNG no será transparente y veremos un comportamiento un tanto extraño. </p>
<p>He desarrollado mi propio FixPNG para solucionar algunas de mis animaciones mientras ClientCide y Mootools solucionan el suyo.</p>
<p>Para usar e24PNGFix, las imágenes deben ponerse como background mediante css, ej:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p143code12'); return false;">Ver código</a> HTML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p14312"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p143code12"><pre class="html" style="font-family:monospace;">&lt;div id=&quot;myimg&quot;  style=&quot;background: url(img/myimg.png) no-repeat&quot;&gt;&lt;/div&gt;</pre></td></tr></table></div>

<p>Y bastaría con la siguiente sentencia de javascript:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p143code13'); return false;">Ver código</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p14313"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p143code13"><pre class="javascript" style="font-family:monospace;">Browser.<span style="color: #660066;">fixPNG</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'myimg'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Este script al menos satisface mis necesidades, sois libre de usarlo o no, aquí os dejo el código de e24FixPNG:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p143code14'); return false;">Ver código</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p14314"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
</pre></td><td class="code" id="p143code14"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">/*
 e24PNGFix
	- MooTools version required: 1.2.2
	Changelog:
		- 1.0: First release
*/</span>
&nbsp;
<span style="color: #006600; font-style: italic;">/*Based on the fixPNG module from MooTools, My Object Oriented Javascript Tools. Copyright (c) 2006-2007 Valerio Proietti, &lt;http://mad4milk.net&gt;, MIT Style License.||Clientcide Copyright (c) 2006-2008, http://www.clientcide.com/wiki/cnet-libraries#license*/</span>
<span style="color: #006600; font-style: italic;">/* Copyright: equipo24 S.L.N.E &lt;http://equipo24.com/&gt; - Distributed under MIT License - Keep this message! */</span>
&nbsp;
$extend<span style="color: #009900;">&#40;</span>Browser<span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>
	fixPNG<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>el<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>Browser.<span style="color: #660066;">Engine</span>.<span style="color: #660066;">trident</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			el <span style="color: #339933;">=</span> document.<span style="color: #660066;">id</span><span style="color: #009900;">&#40;</span>el<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003366; font-weight: bold;">var</span> w <span style="color: #339933;">=</span> el.<span style="color: #660066;">getStyle</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'width'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003366; font-weight: bold;">var</span> h <span style="color: #339933;">=</span> el.<span style="color: #660066;">getStyle</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'height'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003366; font-weight: bold;">var</span> imgURL <span style="color: #339933;">=</span> el.<span style="color: #660066;">getStyle</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'background'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>imgURL.<span style="color: #660066;">test</span><span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">/\((.+)\)/</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				el.<span style="color: #660066;">setStyle</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'background'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #003366; font-weight: bold;">var</span> subEl <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Element<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'div'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #3366CC;">'style'</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">'width: '</span> <span style="color: #339933;">+</span> w <span style="color: #339933;">+</span> <span style="color: #3366CC;">';'</span> <span style="color: #339933;">+</span>
					<span style="color: #3366CC;">'height: '</span> <span style="color: #339933;">+</span> h <span style="color: #339933;">+</span> <span style="color: #3366CC;">';'</span> <span style="color: #339933;">+</span>
					<span style="color: #3366CC;">&quot;filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true', sizingMethod='crop', src='&quot;</span> <span style="color: #339933;">+</span> imgURL.<span style="color: #660066;">match</span><span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">/\((.+)\)/</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;');&quot;</span>							
				<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
				el.<span style="color: #660066;">grab</span><span style="color: #009900;">&#40;</span>subEl<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>							
			<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>En el próximo post documentaré otro efecto e24WalkerFx, sin e24PNGFix me hubiera sido imposible utilizar PNGs transparentes.</p>
<p>Si quieres saber en qué trabajo ahora sígueme en twitter <a href="http://twitter.com/aartiles24">@aartiles24</a></p>

]]></content:encoded>
			<wfw:commentRss>http://www.flash-free.org/2009/06/22/png-fix-para-ie6-con-mootools-e24pngfixpng-fix-for-ie6-with-mootools-e24pngfix/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mootools 1.2.3 y Clientcide 2.1.0 lanzados hoy</title>
		<link>http://www.flash-free.org/2009/06/20/mootools-123-y-clientcide-210-lanzados-hoymootools-123-and-clientcide-210-released-today/</link>
		<comments>http://www.flash-free.org/2009/06/20/mootools-123-y-clientcide-210-lanzados-hoymootools-123-and-clientcide-210-released-today/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 23:29:27 +0000</pubDate>
		<dc:creator>aartiles</dc:creator>
		
		<category><![CDATA[Mootools]]></category>

		<category><![CDATA[Noticias]]></category>

		<category><![CDATA[clientcide]]></category>

		<category><![CDATA[compatibilidad]]></category>

		<category><![CDATA[frameworkds]]></category>

		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://www.flash-free.org/?p=133</guid>
		<description><![CDATA[
Hoy ha sido lanzada la versión 1.2.3 de mootools, la que constituye el último paso de cara a la versión 2.0. El release es principalmente un conjunto de correciones de errores, pero hay que destacar la nueva funcionalidad de compatibilidad con otros frameworks.
Aunque no es recomendable utilizar dos frameworks ajax diferentes en una misma página, [...]]]></description>
			<content:encoded><![CDATA[
<p>Hoy ha sido lanzada la versión 1.2.3 de <a href="http://mootools.net">mootools</a>, la que constituye el último paso de cara a la versión 2.0. El release es principalmente un conjunto de correciones de errores, pero hay que destacar la nueva funcionalidad de compatibilidad con otros frameworks.</p>
<p>Aunque no es recomendable utilizar dos frameworks ajax diferentes en una misma página, es cierto que en ocaciones es inevitable, sobre todo los que programamos plugins que no se sabe con qué otros scripts van a coexistir. La solución es muy simple, sustituir el $ por document.id().</p>
<p>Lo que antes era:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p133code17'); return false;">Ver código</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p13317"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p133code17"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> el <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'myid'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Ahora puede ser así:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p133code18'); return false;">Ver código</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p13318"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p133code18"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> el <span style="color: #339933;">=</span> document.<span style="color: #660066;">id</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'myid'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>También ha sido lanzado hoy <a href="http://www.clientcide.com/">Clientcide 2.1.0</a>, cuyo principal cambio es la adaptación de la compatibilidad con los demás frameworks.</p>
<p>Ahora tendré que sacar 15 minuticos y actualizar todos mis plugins.</p>
<p>Fuente: <a href="http://mootools.net/blog/2009/06/19/mootools-123-released/">mootools blog</a></p>
<p>Si quieres saber en qué trabajo ahora sígueme en twitter <a href="http://twitter.com/aartiles24">@aartiles24</a></p>

]]></content:encoded>
			<wfw:commentRss>http://www.flash-free.org/2009/06/20/mootools-123-y-clientcide-210-lanzados-hoymootools-123-and-clientcide-210-released-today/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Monitoriza el scroll con e24ScrollEvents para mootools</title>
		<link>http://www.flash-free.org/2009/06/17/monitoriza-el-scroll-con-e24scrollevents-para-mootoolsmonitor-the-scroll-with-e24scrollevents-for-mootools/</link>
		<comments>http://www.flash-free.org/2009/06/17/monitoriza-el-scroll-con-e24scrollevents-para-mootoolsmonitor-the-scroll-with-e24scrollevents-for-mootools/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 12:00:15 +0000</pubDate>
		<dc:creator>aartiles</dc:creator>
		
		<category><![CDATA[Componentes]]></category>

		<category><![CDATA[Galería]]></category>

		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[Mootools]]></category>

		<category><![CDATA[componente]]></category>

		<category><![CDATA[events]]></category>

		<category><![CDATA[scroll]]></category>

		<guid isPermaLink="false">http://www.flash-free.org/?p=107</guid>
		<description><![CDATA[

Introducción
Hace muy poco David Walsh publicó en su blog ScrollSpy, un plug-in con objetivos muy similares a e24ScrollEvents. En ese momento ya tenía algo adelantado de e24ScrollEvents para un proyecto en el que trabajaba y no desistí de su desarrollo porque creo que tiene algunos añadidos que hacen que sea muy fácil de usar. Compáralos [...]]]></description>
			<content:encoded><![CDATA[
<p><img style="border:1px solid black;"src="http://www.flash-free.org/wp-content/uploads/2009/06/e24scrollevents.jpg" alt="Scroll Events for mootools" title="Scroll Events for mootools" width="533" height="264" class="alignnone size-full wp-image-109" /></p>
<p><strong>Introducción</strong><br />
Hace muy poco <a href="http://twitter.com/davidwalshblog">David Walsh</a> publicó en su blog <a href="http://davidwalsh.name/scrollspy">ScrollSpy</a>, un plug-in con objetivos muy similares a e24ScrollEvents. En ese momento ya tenía algo adelantado de e24ScrollEvents para un proyecto en el que trabajaba y no desistí de su desarrollo porque creo que tiene algunos añadidos que hacen que sea muy fácil de usar. Compáralos y usa el que mejor se ajuste a tus necesidades.</p>
<p>e24ScrollEvents es un plug-in para Mootools que permite detectar qué elementos son visibles según la posición del scroll de la página. Para ello añade dos nuevos eventos a la clase Element de Mootools que se activan cuando el elemento aparece en el área visible o se oculta. </p>
<p><strong>Demos</strong><br />
Demo1: <a href="http://www.flash-free.org/wp-content/files/e24scrollevents/demo3.html">Galería de Fotos Ajax</a><br />
Demo2: <a href="http://www.flash-free.org/wp-content/files/e24scrollevents/demo.html">Ejemplo Básico</a></p>
<p><strong>¿Cómo utilizarlo?</strong><br />
Incluye Mootools 1.2.2 Core dentro del header del código HTML de la página. Puedes generar una versión de la librería de tamaño óptimo desde el <a href="http://mootools.net/core">Mootools Core Builder</a>, seleccionando DOMReady, Element.Dimensions,  Element.Style, Element.Events, Class.Extras y todas sus dependencias. Y además incluye e24ScrollEvents después de ambos:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p107code22'); return false;">Ver código</a> HTML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p10722"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p107code22"><pre class="html" style="font-family:monospace;">&lt;script src=&quot;js/mootools-1.2.2-core-nc.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;js/e24scrollevents-1.0.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</pre></td></tr></table></div>

<p>Ahora veremos el código javascript necesario para comenzar a observar el scroll. Primero añadimos los controladores para los nuevos eventos &#8220;visible&#8221; y &#8220;hidden&#8221;. Supongamos que tenemos dos elementos &#8220;el1&#8243; y &#8220;el2&#8243; que nos interesa enterarnos cuando aparezcan en el área visible.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p107code23'); return false;">Ver código</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p10723"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code" id="p107code23"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> el1 <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'el1'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
el1.<span style="color: #660066;">addEvents</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #3366CC;">'visible'</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>
		el1.<span style="color: #660066;">setStyle</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'border'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'4px solid #000'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
	<span style="color: #3366CC;">'hidden'</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>
		el1.<span style="color: #660066;">setStyle</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'border'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'none'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> el2 <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'el2'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
el2.<span style="color: #660066;">addEvents</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #3366CC;">'visible'</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>
		el2.<span style="color: #660066;">setStyle</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'border'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'4px solid #000'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
	<span style="color: #3366CC;">'hidden'</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>
		el2.<span style="color: #660066;">setStyle</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'border'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'none'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Luego creamos una instancia de e24ScrollEvents pasándole como parámetro un objeto de opciones.  Entre las opciones tenemos: el elemento contenedor (window si queremos que sea la página), el modo (vertical u horizontal) y un array con los elementos que se subscribirán a los eventos &#8220;visible&#8221; y &#8220;hidden&#8221;. Esto hará que se comience a monitorizar la visibilidad de los elementos subscritos.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p107code24'); return false;">Ver código</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p10724"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p107code24"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">new</span> e24ScrollEvents<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
	container<span style="color: #339933;">:</span> window<span style="color: #339933;">,</span>
	mode<span style="color: #339933;">:</span> <span style="color: #3366CC;">'vertical'</span><span style="color: #339933;">,</span>
	elements<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'el1'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'el2'</span><span style="color: #009900;">&#93;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><strong>Descripción de las opciones</strong></p>
<ul>
<li><em>container</em>: El id del elemento que tiene el scroll. Si es el scroll de la página debes poner <em>window</em>.</li>
<li><em>mode</em>: El scroll que deseamos controlar, los posibles valores son <em>vertical</em> u <em>horizontal</em>.</li>
<li><em>elements</em>: El array de elementos que se subscribirán a los eventos <em>visible</em> y <em>hidden</em>. Puede ayudar mucho utilizar los <a href="http://mootools.net/docs/core/Utilities/Selectors">selectores de mootools</a> ej. $$(&#8217;.myelements&#8217;).</li>
</ul>
<p><strong>Métodos</strong></p>
<ul>
<li><em>listenScroll</em>: Activa los eventos &#8220;visible&#8221; y &#8220;hidden&#8221; en los elementos visibles. Este método solo es necesario llamarlo si queremos chequear la visibilidad aunque no se haya movido el scroll, por ejemplo justo después de añadir los controladores de los eventos a los elementos.</li>
</ul>
<p><strong>Nuevos Eventos de Element</strong></p>
<ul>
<li><em>visible</em>: Se activa cuando el elemento aparecen el área visible. Recibe como parámetro el propio elemento y la posición del scroll.</li>
<li><em>hidden</em>: Se activa cuando el elemento desaparece del área visible. Recibe como parámetro el propio elemento y la posición del scroll.</li>
</ul>
<p><strong>Errores conocidos y cosas por hacer</strong></p>
<ul>
<li>Controlar la visibilidad horizontal y verticalmente a la vez. A mi no me hizo falta para mi proyecto, pero podría ser útil.</li>
</ul>
<p><strong>Licencia</strong><br />
Distribuido bajo Licencia MIT</p>
<p><strong>Descargar</strong><br />
<a href="http://www.flash-free.org/wp-content/files/e24scrollevents/e24scrollevents-1.0.zip">e24ScrollEvents 1.0</a> (38.8 KB, incluye los demos)</p>
<p>Si quieres saber en qué trabajo ahora sígueme en twitter <a href="http://twitter.com/aartiles24">@aartiles24</a></p>

]]></content:encoded>
			<wfw:commentRss>http://www.flash-free.org/2009/06/17/monitoriza-el-scroll-con-e24scrollevents-para-mootoolsmonitor-the-scroll-with-e24scrollevents-for-mootools/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Capta la atención de un objeto con e24SpotLight para mootools</title>
		<link>http://www.flash-free.org/2009/06/08/capta-la-atencion-de-un-objeto-con-e24spotlight-para-mootoolsattract-the-users-attention-using-e24spotlight-for-mootools/</link>
		<comments>http://www.flash-free.org/2009/06/08/capta-la-atencion-de-un-objeto-con-e24spotlight-para-mootoolsattract-the-users-attention-using-e24spotlight-for-mootools/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 08:37:00 +0000</pubDate>
		<dc:creator>aartiles</dc:creator>
		
		<category><![CDATA[Componentes]]></category>

		<category><![CDATA[Efectos]]></category>

		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[Mootools]]></category>

		<category><![CDATA[componente]]></category>

		<category><![CDATA[efecto]]></category>

		<category><![CDATA[spotlight]]></category>

		<guid isPermaLink="false">http://www.flash-free.org/?p=84</guid>
		<description><![CDATA[
Introducción
e24SpotLight es un plug-in para Mootools que permite captar la atención del usuario sobre una región. El efecto simula un apagado de luces dejando solo iluminada la región que deseamos destacar.
Demos
Demo1: Seleccionando un objeto
Demo2: Seleccionando una región
Demo3: e24Presenter + e24SpotLight
¿Cómo utilizarlo?
Incluye Mootools 1.2.2 Core dentro del header del código HTML de la página. Puedes generar [...]]]></description>
			<content:encoded><![CDATA[
<p><img src="http://www.flash-free.org/wp-content/uploads/2009/06/e24spotlight.jpg" alt="e24spotlight" title="e24spotlight" width="505" class="alignnone size-full wp-image-91" /><strong>Introducción</strong><br />
e24SpotLight es un plug-in para Mootools que permite captar la atención del usuario sobre una región. El efecto simula un apagado de luces dejando solo iluminada la región que deseamos destacar.</p>
<p><strong>Demos</strong><br />
Demo1: <a href="http://www.flash-free.org/wp-content/files/e24spotlight/demo.html">Seleccionando un objeto</a><br />
Demo2: <a href="http://www.flash-free.org/wp-content/files/e24spotlight/demo2.html">Seleccionando una región</a><br />
Demo3: <a href="http://www.flash-free.org/wp-content/files/e24spotlight/demo3.html">e24Presenter + e24SpotLight</a></p>
<p><strong>¿Cómo utilizarlo?</strong><br />
Incluye Mootools 1.2.2 Core dentro del header del código HTML de la página. Puedes generar una versión de la librería de tamaño óptimo desde el <a href="http://mootools.net/core">Mootools Core Builder</a>, seleccionando DOMReady, Element.Dimensions, Fx.Transitions, Fx.Morph y todas sus dependencias. Y además incluye e24SpotLight después de ambos:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p84code29'); return false;">Ver código</a> HTML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p8429"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p84code29"><pre class="html" style="font-family:monospace;">&lt;script src=&quot;js/mootools-1.2.2-core-nc.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;js/e24spotlight-1.0.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</pre></td></tr></table></div>

<p>Ahora veremos el código javascript necesario para inicializar el spotlight. Pasaremos como parámetro un objeto de opciones. Los parámetros los veremos en detalle más abajo.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p84code30'); return false;">Ver código</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p8430"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code" id="p84code30"><pre class="javascript" style="font-family:monospace;">	<span style="color: #003366; font-weight: bold;">var</span> spotLight <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> e24SpotLight<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
		transition<span style="color: #339933;">:</span> <span style="color: #3366CC;">'quad:in'</span><span style="color: #339933;">,</span>
		duration<span style="color: #339933;">:</span> <span style="color: #CC0000;">200</span><span style="color: #339933;">,</span>
		zindex<span style="color: #339933;">:</span> <span style="color: #CC0000;">5</span><span style="color: #339933;">,</span>
		bgcolor<span style="color: #339933;">:</span> <span style="color: #3366CC;">'#000000'</span><span style="color: #339933;">,</span>
		opacity<span style="color: #339933;">:</span> <span style="color: #CC0000;">0.7</span><span style="color: #339933;">,</span>
		margin<span style="color: #339933;">:</span> <span style="color: #CC0000;">8</span><span style="color: #339933;">,</span>
		delay<span style="color: #339933;">:</span> <span style="color: #CC0000;">2000</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Si queremos activar un elemento del DOM dado su Id o su referencia</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p84code31'); return false;">Ver código</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p8431"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p84code31"><pre class="javascript" style="font-family:monospace;">  spotLight.<span style="color: #660066;">lightOn</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'mydiv'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>O si queremos si queremos activar una región dadas sus coordenadas y dimensiones</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p84code32'); return false;">Ver código</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p8432"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p84code32"><pre class="javascript" style="font-family:monospace;">  spotLight.<span style="color: #660066;">lightOn</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>left<span style="color: #339933;">:</span> <span style="color: #CC0000;">100</span><span style="color: #339933;">,</span> top<span style="color: #339933;">:</span> <span style="color: #CC0000;">150</span><span style="color: #339933;">,</span> width<span style="color: #339933;">:</span> <span style="color: #CC0000;">300</span><span style="color: #339933;">,</span> height<span style="color: #339933;">:</span> <span style="color: #CC0000;">300</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><strong>Descripción de las opciones</strong></p>
<ul>
<li><em>transition</em>: El nombre de la transición que se utilizará, ej. ‘quad-out’, ‘bounce-in’, ‘elastic-in’, etc.</li>
<li><em>duration</em>: La duración en milisegundos del efecto de iluminación.</li>
<li><em>zindex</em>: El z-index de la capa overlay.</li>
<li><em>bgcolor</em>: El el color de la capa overlad.</li>
<li><em>opacity</em>: La opacidad de la capa overlay.</li>
<li><em>margin</em>: El margen a dejar por fuera de la región a iluminar.</li>
<li><em>delay</em>: El tiempo en milisegundos para que se oculte la capa overlay. Si se deja a cero entonces no se ocultará nunca, a no ser que se haga click sobre ella.</li>
</ul>
<p><strong>Métodos</strong></p>
<ul>
<li><em>lightOn</em>: Ilumina una región o un objeto. Si queremos que ilumine un objeto le pasamos como parámetro el Id o la referrencia. Si queremos que ilumine una región le pasamos las coordenadas y las dimensiones {left: 100, top: 150, width: 300, height: 300}.</li>
<li><em>lightOff</em>: Oculta la capa overlay.</li>
</ul>
<p><strong>Errores conocidos y cosas por hacer</strong><br />
No se me ocurre nada pero estaría encantado de escuchar vuestras opiniones.</p>
<p><strong>Licencia</strong><br />
Distribuido bajo Licencia MIT</p>
<p><strong>Descargar</strong><br />
<a href="http://www.flash-free.org/wp-content/files/e24spotlight/e24spotlight1.0.zip">e24SpotLight 1.0</a> (27 KB, incluye los demos)</p>
<p>Si quieres saber en qué trabajo ahora sígueme en twitter <a href="http://twitter.com/aartiles24">@aartiles24</a></p>

]]></content:encoded>
			<wfw:commentRss>http://www.flash-free.org/2009/06/08/capta-la-atencion-de-un-objeto-con-e24spotlight-para-mootoolsattract-the-users-attention-using-e24spotlight-for-mootools/feed/</wfw:commentRss>
		</item>
		<item>
		<title>e24BubbleFx - Transición de fotos mediante efecto de burbuja</title>
		<link>http://www.flash-free.org/2009/05/28/e24bubblefx-photo-bubble-transition-effect/</link>
		<comments>http://www.flash-free.org/2009/05/28/e24bubblefx-photo-bubble-transition-effect/#comments</comments>
		<pubDate>Thu, 28 May 2009 08:45:32 +0000</pubDate>
		<dc:creator>aartiles</dc:creator>
		
		<category><![CDATA[Animaciones]]></category>

		<category><![CDATA[Componentes]]></category>

		<category><![CDATA[Efectos]]></category>

		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[Mootools]]></category>

		<category><![CDATA[animacion]]></category>

		<category><![CDATA[efecto]]></category>

		<category><![CDATA[plugin]]></category>

		<category><![CDATA[transicion]]></category>

		<guid isPermaLink="false">http://www.flash-free.org/?p=54</guid>
		<description><![CDATA[

Introducción
e24BubbleFx es un plug-in para Mootools que consiste en la transición entre dos fotografías, una como capa superior y otra inferior alternándose la visión de una u otra con un efecto burbuja de la propia imagen superior.
Lo mejor es verlo en acción y así entenderéis rápidamente a que me refiero.
Demos
Demo1: Ejemplo básico
Demo2: Ejemplo con eventos
¿Cómo [...]]]></description>
			<content:encoded><![CDATA[
<p><img src="http://www.flash-free.org/wp-content/uploads/2009/05/e24bubblefx-esp.jpg" alt="e24BubbleFx - efecto de transicion de imágenes" title="e24BubbleFx - efecto de transicion de imágenes" width="500" height="125" class="alignnone size-full wp-image-76" /><br />
<strong>Introducción</strong><br />
e24BubbleFx es un plug-in para Mootools que consiste en la transición entre dos fotografías, una como capa superior y otra inferior alternándose la visión de una u otra con un efecto burbuja de la propia imagen superior.<br />
Lo mejor es verlo en acción y así entenderéis rápidamente a que me refiero.</p>
<p><strong>Demos</strong><br />
Demo1: <a href="http://www.flash-free.org/wp-content/files/e24bubblefx/basic-demo.html">Ejemplo básico</a><br />
Demo2: <a href="http://www.flash-free.org/wp-content/files/e24bubblefx/advanced-demo.html">Ejemplo con eventos</a></p>
<p><strong>¿Cómo utilizarlo?</strong><br />
Incluye Mootools 1.2.2 Core dentro del header del código HTML de la página. Puedes generar una versión de la librería de tamaño óptimo desde el <a href="http://mootools.net/core">Mootools Core Builder</a>, seleccionando DOMReady, Fx.Transitions, Fx.Tween y todas sus dependencias. Y además incluye e24BubbleFx después de ambos:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p54code37'); return false;">Ver código</a> HTLM</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p5437"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p54code37"><pre class="htlm" style="font-family:monospace;">&lt;script src=&quot;js/mootools-1.2.2-core-nc.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;js/e24bubblefx-1.0rc.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</pre></td></tr></table></div>

<p>Ahora escribe el código HTML necesario para definir el visor del efecto. Necesitaremos una capa contenedora (“visor” en el ejemplo). Esta capa tendrá la imagen de fondo que se irá descubriendo mediante el efecto. Debes tener en cuenta que la imagen que pongas de fondo aparecerá directamente en caso de ausencia de javascript, o sea que el efecto degradará satisfactoriamente.</p>
<p>Luego un poco de CSS básico para que el efecto funcione. Simplemente definir un alto y ancho para la capa y definir la imagen de fondo.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p54code38'); return false;">Ver código</a> CSS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p5438"><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code" id="p54code38"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#visor</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span><span style="color: #993333;">relative</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">1000px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">250px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span>img/back1.jpg<span style="color: #00AA00;">&#41;</span> <span style="color: #993333;">no-repeat</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Ahora veremos el código javascript necesario para el funcionamiento del  efecto. Pasaremos como parámetro un objeto de opciones. Entre las principales opciones tenemos &#8220;container&#8221; que debería ser el id de la capa contenedora del efecto, “visor” en este caso. Los demás parámetros los veremos en detalle más abajo. Por último tenemos que llamar el método <em>start</em> pasándole un array de coordenadas que describirá los pasos de la burbuja.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p54code39'); return false;">Ver código</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p5439"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code" id="p54code39"><pre class="javascript" style="font-family:monospace;">	<span style="color: #003366; font-weight: bold;">var</span> bubbleFx <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> e24BubbleFx<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
		container<span style="color: #339933;">:</span> <span style="color: #3366CC;">'visor'</span><span style="color: #339933;">,</span>
		width<span style="color: #339933;">:</span> <span style="color: #CC0000;">1000</span><span style="color: #339933;">,</span>
		height<span style="color: #339933;">:</span> <span style="color: #CC0000;">250</span><span style="color: #339933;">,</span>
		initStep<span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span>x<span style="color: #339933;">:</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> w<span style="color: #339933;">:</span><span style="color: #CC0000;">100</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		frontImg<span style="color: #339933;">:</span> <span style="color: #3366CC;">'img/back2.jpg'</span><span style="color: #339933;">,</span>
		backImg<span style="color: #339933;">:</span> <span style="color: #3366CC;">'img/back2.jpg'</span><span style="color: #339933;">,</span>
		transition<span style="color: #339933;">:</span> <span style="color: #3366CC;">'quad:out'</span><span style="color: #339933;">,</span>
		infinite<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	discoverFx.<span style="color: #660066;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>
		<span style="color: #009900;">&#123;</span>x<span style="color: #339933;">:</span><span style="color: #CC0000;">200</span><span style="color: #339933;">,</span> w<span style="color: #339933;">:</span><span style="color: #CC0000;">520</span><span style="color: #339933;">,</span> d1<span style="color: #339933;">:</span><span style="color: #CC0000;">800</span><span style="color: #339933;">,</span> d2<span style="color: #339933;">:</span><span style="color: #CC0000;">1100</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#123;</span>x<span style="color: #339933;">:</span><span style="color: #CC0000;">350</span><span style="color: #339933;">,</span> w<span style="color: #339933;">:</span><span style="color: #CC0000;">270</span><span style="color: #339933;">,</span> d1<span style="color: #339933;">:</span><span style="color: #CC0000;">800</span><span style="color: #339933;">,</span> d2<span style="color: #339933;">:</span><span style="color: #CC0000;">800</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#123;</span>x<span style="color: #339933;">:</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> w<span style="color: #339933;">:</span><span style="color: #CC0000;">230</span><span style="color: #339933;">,</span> d1<span style="color: #339933;">:</span><span style="color: #CC0000;">800</span><span style="color: #339933;">,</span> d2<span style="color: #339933;">:</span><span style="color: #CC0000;">1100</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#123;</span>x<span style="color: #339933;">:</span><span style="color: #CC0000;">250</span><span style="color: #339933;">,</span> w<span style="color: #339933;">:</span><span style="color: #CC0000;">530</span><span style="color: #339933;">,</span> d1<span style="color: #339933;">:</span><span style="color: #CC0000;">800</span><span style="color: #339933;">,</span> d2<span style="color: #339933;">:</span><span style="color: #CC0000;">1100</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#123;</span>x<span style="color: #339933;">:</span><span style="color: #CC0000;">300</span><span style="color: #339933;">,</span> w<span style="color: #339933;">:</span><span style="color: #CC0000;">700</span><span style="color: #339933;">,</span> d1<span style="color: #339933;">:</span><span style="color: #CC0000;">800</span><span style="color: #339933;">,</span> d2<span style="color: #339933;">:</span><span style="color: #CC0000;">1100</span><span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><strong>Descripción de las opciones</strong></p>
<ul>
<li><em>container</em>: El id de la capa que contendrá el efecto</li>
<li><em>backImg</em>: El camino a la imagen que aparecerá debajo, la misma que definimos mediante css para la capa contenedora</li>
<li><em>frontImg</em>: El camino a la imagen que aparecerá arriba</li>
<li><em>width</em>: El ancho del visor</li>
<li><em>height</em>: El alto del visor</li>
<li><em>transition</em>: El nombre de la transición que se utilizará, ej. &#8216;quad-out&#8217;, &#8216;bounce-in&#8217;, &#8216;elastic-in&#8217;, etc.</li>
<li><em>stepDuration</em>: La duración en milisegundos de cada uno de los movimientos, aunque valor puede ser sobrescrito a nivel de paso como veremos luego</li>
<li><em>infinity</em>: (true/false) En caso de true la animación se repetirá infinitamente.</li>
<li><em>infiniteDelay</em>: El tiempo de espera en milisegundos para reiniciar la animación en caso de que la opción <em>infinity</em> esté activada</li>
<li><em>initStep</em>: {x:0, w:0} La coordenada de inicio del efecto, donde x es la posición de la burbuja y w el ancho.</li>
</ul>
<p><strong>Eventos</strong></p>
<ul>
<li><em>onStep</em>: function(index). Este evento se lanza en cada paso de la animación y recibe como parámetro el número del paso comenzando por cero</li>
<li><em>onComplete</em>: function(). Este evento se lanza al finalizar la animación. En caso de que <em>infinity</em> sea true se lanzará en cada ciclo.</li>
</ul>
<p><strong>Métodos</strong></p>
<ul>
<li><em>start</em>: Inicia la animación. Recibe como parámetro un array de coordenadas. Debes tener en cuenta que este efecto se basa en el movimiento de la burbuja que deja ver la imagen de atrás, por lo que está coordenadas definen la posición y ancho de la burbuja en cada paso. Además se puede establecer la duración de las animaciones de ambas paredes de la burbuja.
<ul>
<li><em>x</em>: distancia de la burbuja contando desde la pared izquierda del visor</li>
<li><em>w</em>: ancho de la burbuja</li>
<li><em>d1</em>: duración en milisegundos de la animación de la pared izquierda de la burbuja</li>
<li><em>d2</em>: duración en milisegundos de la animación de la pared derecha de la burbuja</li>
</ul>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p54code40'); return false;">Ver código</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p5440"><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code" id="p54code40"><pre class="javascript" style="font-family:monospace;">	discoverFx.<span style="color: #660066;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>
		<span style="color: #009900;">&#123;</span>x<span style="color: #339933;">:</span><span style="color: #CC0000;">200</span><span style="color: #339933;">,</span> w<span style="color: #339933;">:</span><span style="color: #CC0000;">520</span><span style="color: #339933;">,</span> d1<span style="color: #339933;">:</span><span style="color: #CC0000;">800</span><span style="color: #339933;">,</span> d2<span style="color: #339933;">:</span><span style="color: #CC0000;">1100</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#123;</span>x<span style="color: #339933;">:</span><span style="color: #CC0000;">350</span><span style="color: #339933;">,</span> w<span style="color: #339933;">:</span><span style="color: #CC0000;">270</span><span style="color: #339933;">,</span> d1<span style="color: #339933;">:</span><span style="color: #CC0000;">800</span><span style="color: #339933;">,</span> d2<span style="color: #339933;">:</span><span style="color: #CC0000;">800</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#123;</span>x<span style="color: #339933;">:</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> w<span style="color: #339933;">:</span><span style="color: #CC0000;">230</span><span style="color: #339933;">,</span> d1<span style="color: #339933;">:</span><span style="color: #CC0000;">800</span><span style="color: #339933;">,</span> d2<span style="color: #339933;">:</span><span style="color: #CC0000;">1100</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#123;</span>x<span style="color: #339933;">:</span><span style="color: #CC0000;">250</span><span style="color: #339933;">,</span> w<span style="color: #339933;">:</span><span style="color: #CC0000;">530</span><span style="color: #339933;">,</span> d1<span style="color: #339933;">:</span><span style="color: #CC0000;">800</span><span style="color: #339933;">,</span> d2<span style="color: #339933;">:</span><span style="color: #CC0000;">1100</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#123;</span>x<span style="color: #339933;">:</span><span style="color: #CC0000;">300</span><span style="color: #339933;">,</span> w<span style="color: #339933;">:</span><span style="color: #CC0000;">700</span><span style="color: #339933;">,</span> d1<span style="color: #339933;">:</span><span style="color: #CC0000;">800</span><span style="color: #339933;">,</span> d2<span style="color: #339933;">:</span><span style="color: #CC0000;">1100</span><span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

</li>
<li><em>safeStart</em>: Similar a <em>start</em> pero inicia después de precargar las imágenes necesarias para el efecto. NOTA: Este método requiere <a href="http://mootools.net/more">mootools-1.2.2.1-more.js</a> con la clase <em>Asset</em></li>
<li><em>cancel</em>: Cancela la animación en caso de que <em>infinity</em> sea true</li>
</ul>
<p><strong>Errores conocidos y cosas por hacer</strong></p>
<ul>
<li>Hacer que el método cancel cancele completamente la animación, ahora solo cancela que no se repita en caso de <em>infinity</em> true</li>
<li>Permitir transición entre más de dos imágenes</li>
<li>Permitir hacer el efecto en dirección vertical</li>
</ul>
<p><strong>Licencia</strong><br />
Distribuido bajo Licencia MIT</p>
<p><strong>Descargar</strong><br />
<a href="http://www.flash-free.org/wp-content/files/e24bubblefx/e24bubblefx1.0rc.zip">e24BubbleFx 1.0RC</a> (218 KB, incluye los demos)</p>
<p>El corazón de este efecto son las coordenadas de los pasos de la burbuja, una correcta y creativa combinación de pasos puede dar como resultado un efecto único. Os invito a compartir vuestras combinaciones de pasos.</p>
<p>Si quieres saber en qué trabajo ahora sígueme en twitter <a href="http://twitter.com/aartiles24">@aartiles24</a></p>

]]></content:encoded>
			<wfw:commentRss>http://www.flash-free.org/2009/05/28/e24bubblefx-photo-bubble-transition-effect/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Monperla.es  – Web totalmente Ajax desarrollada con prototype y scriptaculous</title>
		<link>http://www.flash-free.org/2008/08/02/monperlaes-%e2%80%93-web-totalmente-ajax-desarrollada-con-prototype-y-scriptaculous/</link>
		<comments>http://www.flash-free.org/2008/08/02/monperlaes-%e2%80%93-web-totalmente-ajax-desarrollada-con-prototype-y-scriptaculous/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 19:31:07 +0000</pubDate>
		<dc:creator>aartiles</dc:creator>
		
		<category><![CDATA[Ejemplos]]></category>

		<category><![CDATA[Prototype]]></category>

		<category><![CDATA[Scriptaculous]]></category>

		<category><![CDATA[Site Reviews]]></category>

		<category><![CDATA[caso de estudio]]></category>

		<category><![CDATA[e24squares]]></category>

		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://www.flash-free.org/2008/08/02/monperlaes-%e2%80%93-web-totalmente-ajax-desarrollada-con-prototype-y-scriptaculous/</guid>
		<description><![CDATA[
Desde que comenzamos a publicar este blog hemos venido ofreciendo una serie de componentes y técnicas para desarrollar un sitio completamente Ajax. Hoy veremos cómo uniendo todas estas técnicas obtenemos resultados que hasta hace bien poco parecían imposible sin tener que recurrir al Flash.
El caso de estudio es Monperla, una tienda online de joyería de [...]]]></description>
			<content:encoded><![CDATA[
<p><img src="http://www.flash-free.org/wp-content/uploads/2008/08/monperla21.jpg" alt="Monperla, tienda de artículos de joyería de la perla" style="border: 4px solid white; margin-right: 5px" align="left" />Desde que comenzamos a publicar este blog hemos venido ofreciendo una serie de componentes y técnicas para desarrollar un sitio completamente Ajax. Hoy veremos cómo uniendo todas estas técnicas obtenemos resultados que hasta hace bien poco parecían imposible sin tener que recurrir al Flash.</p>
<p>El caso de estudio es <a href="http://www.monperla.es" target="_blank">Monperla, una tienda online de joyería de la perla</a>, en particular veremos ahora la web corporativa y próximamente cuando terminemos la nueva versión tienda la analizaremos también.</p>
<p>Los que seguís de cerca nuestro blog notarán enseguida que el protagonista de la página es <a href="http://www.flash-free.org/2008/05/04/e24squares-efecto-ajax-de-transicion-de-imagenes/">e24Squares, el efecto galería de bloques aleatorios</a> que publicamos en posts anteriores. Este efecto está integrado de manera que cada página del sitio se relaciona con una imagen y cuando se carga una nueva página el efecto se ejecuta haciendo la transición entre la imagen de la pagina actual con la de destino.</p>
<p>Como se ve las páginas se cargan asincrónicamente apareciendo un efecto fade. Una característica importante del sitio es que se ha <a href="http://www.flash-free.org/2008/04/13/degradar-correctamente-en-ajax/">cuidado que degrade satisfactoriamente cuando la ejecución javascript esté deshabilitada</a>, por lo que el sitio se indexará perfectamente por los buscadores, para ello hemos utilizado las técnicas descritas en el post donde comentamos <a href="http://www.flash-free.org/2008/05/03/degradar-con-prototype-el-evento-ondomready/">la importancia de evento onDomReady</a>.</p>
<p>Como se ha comentado en posts anteriores, las webs que para cargar una nueva página lo hacen mediante llamadas asincrónicas ajax sin necesidad de recargar la página presentan el problema de que si el usuario utiliza el botón Atrás (back) del navegador la página se abandonaría. Para solucionar esto hemos utilizado el <a href="http://www.flash-free.org/2008/07/05/history-manager-para-ajax-solucion-al-boton-back/">componente protoHistoryManager</a>.</p>
<p>La web tiene otros efectos Ajax más tradicionales como ventanas lighbox para ampliar algunas fotos, rollover en algunas fotos.  Además permite agrandar o achicar el tamaño de la fuente de los textos.</p>
<p>Espero que sirva de ayuda para aquellos que han solicitado ejemplos y aplicaciones de nuestros componentes. Agradeceríamos que nos comunicarais los errores encontréis en las diferentes versiones de los navegadores.</p>
<p>Si quieres saber en qué trabajo ahora sígueme en twitter <a href="http://twitter.com/aartiles24">@aartiles24</a></p>

]]></content:encoded>
			<wfw:commentRss>http://www.flash-free.org/2008/08/02/monperlaes-%e2%80%93-web-totalmente-ajax-desarrollada-con-prototype-y-scriptaculous/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ajaxigg - Red social sobre novedades del mundo AJAX</title>
		<link>http://www.flash-free.org/2008/07/29/ajaxigg-red-social-sobre-novedades-del-mundo-ajax/</link>
		<comments>http://www.flash-free.org/2008/07/29/ajaxigg-red-social-sobre-novedades-del-mundo-ajax/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 15:56:12 +0000</pubDate>
		<dc:creator>aartiles</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[ajax]]></category>

		<category><![CDATA[ajaxigg]]></category>

		<category><![CDATA[red social]]></category>

		<guid isPermaLink="false">http://www.flash-free.org/2008/07/29/ajaxigg-red-social-sobre-novedades-del-mundo-ajax/</guid>
		<description><![CDATA[
equipo24 se complace en anunciar el lanzamiento de Ajaxigg. Ajaxigg es una read social al estilo digg.com y meneame.es donde los usuarios podrán compartir noticias, componentes, trucos,  tutoriales  relacionados con el desarrollo ajax. En Ajaxigg son los usuarios quienes deciden qué noticias son más relevante mediante su sistema de votaciones.
En estos momentos solo está disponible [...]]]></description>
			<content:encoded><![CDATA[
<p>equipo24 se complace en anunciar el lanzamiento de <a href="http://ajaxigg.flash-free.org">Ajaxigg</a>. Ajaxigg es una read social al estilo <a href="http://digg.com">digg.com</a> y <a href="http://meneame.es">meneame.es</a> donde los usuarios podrán compartir noticias, componentes, trucos,  tutoriales  relacionados con el desarrollo ajax. En Ajaxigg son los usuarios quienes deciden qué noticias son más relevante mediante su sistema de votaciones.</p>
<p>En estos momentos solo está disponible para la comunidad hispanoparlante pero muy pronto estará lista la versión en inglés.</p>
<p>Espero que os sea útil.</p>
<p>Si quieres saber en qué trabajo ahora sígueme en twitter <a href="http://twitter.com/aartiles24">@aartiles24</a></p>

]]></content:encoded>
			<wfw:commentRss>http://www.flash-free.org/2008/07/29/ajaxigg-red-social-sobre-novedades-del-mundo-ajax/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Las llamadas asyncrónicas de ajax, la clave de los buscadores web2.0</title>
		<link>http://www.flash-free.org/2008/07/24/las-llamadas-asyncronicas-de-ajax-la-clave-de-los-buscadores-web20/</link>
		<comments>http://www.flash-free.org/2008/07/24/las-llamadas-asyncronicas-de-ajax-la-clave-de-los-buscadores-web20/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 23:17:55 +0000</pubDate>
		<dc:creator>aartiles</dc:creator>
		
		<category><![CDATA[Ejemplos]]></category>

		<category><![CDATA[ajax]]></category>

		<category><![CDATA[buscadores]]></category>

		<category><![CDATA[llamadas asyncronicas]]></category>

		<guid isPermaLink="false">http://www.flash-free.org/2008/07/24/las-llamadas-asyncronicas-de-ajax-la-clave-de-los-buscadores-web20/</guid>
		<description><![CDATA[
La principal bondad de ajax de permitir realizar llamadas asincrónicas y servir resultados sin interrumpir la experiencia del usuario en la página, constituye la clave de hoy día en los buscadores Web2.0.
Aqui os dejo algunos ejemplos que nos hacen la vida más fácil gracias a esta fabulosa tecnología:

Minube - Buscador de vuelos baratos
Shopall
AjaxLookup Domain Whois

Si [...]]]></description>
			<content:encoded><![CDATA[
<p>La principal bondad de ajax de permitir realizar llamadas asincrónicas y servir resultados sin interrumpir la experiencia del usuario en la página, constituye la clave de hoy día en los buscadores Web2.0.</p>
<p>Aqui os dejo algunos ejemplos que nos hacen la vida más fácil gracias a esta fabulosa tecnología:</p>
<ul>
<li><a href="http://www.minube.com/ ">Minube - Buscador de vuelos baratos</a></li>
<li><a href="http://www.shopall.es">Shopall</a></li>
<li><a href="http://www.ajaxlookup.com/">AjaxLookup Domain Whois</a></li>
</ul>
<p>Si quieres saber en qué trabajo ahora sígueme en twitter <a href="http://twitter.com/aartiles24">@aartiles24</a></p>

]]></content:encoded>
			<wfw:commentRss>http://www.flash-free.org/2008/07/24/las-llamadas-asyncronicas-de-ajax-la-clave-de-los-buscadores-web20/feed/</wfw:commentRss>
		</item>
		<item>
		<title>History Manager para AJAX, solución al botón back</title>
		<link>http://www.flash-free.org/2008/07/05/history-manager-para-ajax-solucion-al-boton-back/</link>
		<comments>http://www.flash-free.org/2008/07/05/history-manager-para-ajax-solucion-al-boton-back/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 17:05:56 +0000</pubDate>
		<dc:creator>aartiles</dc:creator>
		
		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[Mootools]]></category>

		<category><![CDATA[Prototype]]></category>

		<category><![CDATA[back button]]></category>

		<category><![CDATA[history manager]]></category>

		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.flash-free.org/2008/07/05/history-manager-para-ajax-solucion-al-boton-back/</guid>
		<description><![CDATA[
Una de las mayores críticas a las aplicaciones web en AJAX es acerca de sus limitaciones de accesibilidad y usabilidad. Los usuarios tienen ya vicios y costumbres y no entiende de AJAX, ello solo quieren que si le dan al botón back funcione como siempre y valla a la página anterior, y que si marcan [...]]]></description>
			<content:encoded><![CDATA[
<p>Una de las mayores críticas a las aplicaciones web en AJAX es acerca de sus limitaciones de accesibilidad y usabilidad. Los usuarios tienen ya vicios y costumbres y no entiende de AJAX, ello solo quieren que si le dan al botón back funcione como siempre y valla a la página anterior, y que si marcan una página en sus favoritos que luego cuando vuelva valla a la pantalla que el marcó y no a la página principal que es lo que suele suceder con las páginas web en AJAX.</p>
<p>Digitarald.de ha desarrollado una solución <a href="http://digitarald.de/project/history-manager/" title="HistoryManager - The Ajax Back-Button (v1.0)HistoryManager - The Ajax Back-Button (v1.0)">HistoryManager - The Ajax Back-Button (v1.0)</a> para aquellos que usan <a href="http://mootools.net/" title="Mootools AJAX Library">Mootools </a>  Pueden probar sus ejemplos, y por mi parte yo lo he implementado en <a href="http://www.equipo24.com" title="equipo24 - Desarrollo AJAX Avanzado">www.equipo24.com</a></p>
<p>Como también suelo desarrollar con <a href="http://www.prototypejs.org/" title="Prototype Ajax Library">Prototype</a> he reescrito el código para que sea compatible con dicha librería, la forma de uso es muy similar al original. Espero que os sea útil.</p>
<p>Descargar <a href="http://www.flash-free.org/wp-content/files/prototypehistoryManager/prototype.historyManager.js" title="History Manager for Prototype AJAX Library">prototype.historyManager.js</a></p>
<p>Si quieres saber en qué trabajo ahora sígueme en twitter <a href="http://twitter.com/aartiles24">@aartiles24</a></p>

]]></content:encoded>
			<wfw:commentRss>http://www.flash-free.org/2008/07/05/history-manager-para-ajax-solucion-al-boton-back/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
