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

<channel>
	<title>AjaxizeYourself.com</title>
	<atom:link href="http://www.ajaxizeyourself.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ajaxizeyourself.com</link>
	<description>Energize Your Web</description>
	<pubDate>Fri, 13 Jun 2008 07:04:15 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>I wanna go there!</title>
		<link>http://www.ajaxizeyourself.com/2008/06/i-wanna-go-there/</link>
		<comments>http://www.ajaxizeyourself.com/2008/06/i-wanna-go-there/#comments</comments>
		<pubDate>Tue, 10 Jun 2008 21:11:34 +0000</pubDate>
		<dc:creator>Jose</dc:creator>
		
		<category><![CDATA[indispensable]]></category>

		<category><![CDATA[iwannagothere limalimon blat mamuso mashup]]></category>

		<guid isPermaLink="false">http://www.ajaxizeyourself.com/?p=8</guid>
		<description><![CDATA[¡Día de novedades!
Hoy posteaba que tenemos nueva versión de Mootools. Además, debuta la selección en el europeo (je je) y, fuera bromas, tenemos un estreno de los de verdad. Desde hoy podéis visitar uno de esos sitios especiales, de esos que destilan talento por los cuatro costados.
iwannagothere.net es una idea original de María desarrollada por [...]]]></description>
			<content:encoded><![CDATA[<p>¡Día de novedades!</p>
<p><a href="http://www.ajaxizeyourself.com/2008/06/mootools-12-%c2%a1%c2%a1%c2%a1por-fin/" target="_self">Hoy posteaba</a> que tenemos nueva versión de Mootools. Además, debuta la selección en el europeo (je je) y, fuera bromas, tenemos un estreno <em>de los de verdad</em>. Desde hoy podéis visitar uno de esos sitios especiales, de esos que destilan talento por los cuatro costados.</p>
<p><a href="http://www.iwannagothere.net" target="_blank">iwannagothere.net</a> es una idea original de <a href="http://www.limalimon.com.es/" target="_blank">María</a> desarrollada por ella misma, <a href="http://www.inwebwetrust.net/" target="_blank">blat</a> y <a href="http://www.mamuso.net" target="_blank">mamuso</a> (amigo y crack en lo profesional y en lo personal, ahí queda eso). Es un sitio que no os podéis perder; cada usuario registrado puede aportar información relativa a ciudades y añadir estas a rutas, votándolas, valorándolas, tageándolas, etc.</p>
<p>Añadid a esto un diseño fantástico y el encanto especial que esta gente aporta a todo lo que hace. Os va a gustar. Disfrutadlo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxizeyourself.com/2008/06/i-wanna-go-there/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mootools 1.2 ¡¡¡Por fin!!!</title>
		<link>http://www.ajaxizeyourself.com/2008/06/mootools-12-%c2%a1%c2%a1%c2%a1por-fin/</link>
		<comments>http://www.ajaxizeyourself.com/2008/06/mootools-12-%c2%a1%c2%a1%c2%a1por-fin/#comments</comments>
		<pubDate>Tue, 10 Jun 2008 13:16:36 +0000</pubDate>
		<dc:creator>Jose</dc:creator>
		
		<category><![CDATA[Mootools]]></category>

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

		<guid isPermaLink="false">http://www.ajaxizeyourself.com/?p=7</guid>
		<description><![CDATA[Estamos de enhorabuena, ya se ha liberado la versión 1.2 de &#8220;El framework&#8221; (Mootools). En la web oficial está disponible el link a la descarga y documentación.
Estoy deseando probarla, voy a aprovechar para testearla a tope, arreglar visualmente el blog y el playground (que por supuesto usará las 1.2). Estad atentos que os iré contando. [...]]]></description>
			<content:encoded><![CDATA[<p>Estamos de enhorabuena, ya se ha liberado la versión 1.2 de &#8220;El framework&#8221; (Mootools). En la web oficial está disponible el link a la <a title="Mootools 1.2 descarga" href="http://mootools.net/download" target="_blank">descarga</a> y <a title="Documentacion oficial Mootools 1.2" href="http://docs.mootools.net/" target="_blank">documentación</a>.</p>
<p>Estoy deseando probarla, voy a aprovechar para testearla a tope, arreglar visualmente el blog y el playground (que por supuesto usará las 1.2). Estad atentos que os iré contando. Así de primeras deciros que hay bastantes cambios que hacen que la v1.2 no sea &#8220;directamente compatible hacia atrás&#8221; con la 1.11. A ver si hago un pequeño report de los cambios mas importantes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxizeyourself.com/2008/06/mootools-12-%c2%a1%c2%a1%c2%a1por-fin/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Las funciones $ para gestión del DOM en Mootools</title>
		<link>http://www.ajaxizeyourself.com/2008/06/las-funciones-en-mootools-5-basicos/</link>
		<comments>http://www.ajaxizeyourself.com/2008/06/las-funciones-en-mootools-5-basicos/#comments</comments>
		<pubDate>Sat, 07 Jun 2008 00:48:01 +0000</pubDate>
		<dc:creator>Jose</dc:creator>
		
		<category><![CDATA[Mootools]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://www.ajaxizeyourself.com/?p=6</guid>
		<description><![CDATA[Ni que decir tiene que soy un ferviente defensor de Mootools. Reconozco que Prototype fue(o es) un framework js pionero y aportó un salto cualitativo importantísimo. Pero personalmente prefiero (por muchas razones que quizá den para otro post) Mootools o JQuery. Entre estos 2 úlitmos prefiero Mootools aunque reconozco que realmente es por una cuestión [...]]]></description>
			<content:encoded><![CDATA[<p>Ni que decir tiene que soy un ferviente defensor de Mootools. Reconozco que Prototype fue(o es) un framework js pionero y aportó un salto cualitativo importantísimo. Pero personalmente prefiero (por muchas razones que quizá den para otro post) Mootools o JQuery. Entre estos 2 úlitmos prefiero Mootools aunque reconozco que realmente es por una cuestión de costumbres, ya que JQuery no lo conozco ni domino demasiado.</p>
<p>Intentaré poco a poco presentaros clases y/o funciones y/o características de Mootols. Hoy le toca el turno a las funciones $. La función $ fue gestada inicialmente por prototype (gracias amigos) y también está disponible en Mootools. En realidad en Mootools tenemos 4 funciones $:</p>
<p>$(), $$(), $E(), $ES()</p>
<p>Nota: Hay muchas más funciones $ pertenecientes al core, ya hablaremos de ellas (chk, pick, etc)</p>
<p>$() y $$() están definidas en la clase <a title="Documentación oficial de la clase Element mootools" href="http://docs.mootools.net/Native/Element.js" target="_blank">Element.js</a> (categorizada en &#8220;Native&#8221;), $E() $ES() sin embargo las define <a title="Documentación oficial de la clase Element.Selectors mootools" href="http://docs.mootools.net/Element/Element-Selectors.js" target="_blank">Element.Selectors.js</a>. Y tu dirás&#8230; que bien, que organizdo esta todo, pero&#8230; ¿para qué sirven? ¿cómo se utilizan?</p>
<p><strong>$() o el getElementById molón</strong></p>
<p>Ni que decir tiene que Javascript sirve para mucho más que para hacer <em>alert(&#8221;hola mundo&#8221;)</em>.  No  me atrevo a decir un porcentaje (porque lo desconozco) pero una ENORME cantidad de scripting JS está relacionado directa o indirectamente con el DOM. Hagamos lo que hagamos con los elementos del DOM lo primero que debemos hacer es cogerlos. $(), $$(), $E() y $ES() sirven para eso. Son &#8220;getters&#8221; y de los 4, $() es posiblemente el más básico y quizá el más utilizado. A grosso modo $() es un clásico &#8220;document.getElementById&#8221; pero con dopping.</p>
<p>Parámetros y retorno:</p>
<p>$() recibe como parámetro:</p>
<p><strong> A) un string</strong> (que representa el id del elemento) o</p>
<p><strong>B) un elemento</strong>.</p>
<p>A su vez devuelve el elemento del DOM buscado con todos los <strong>prototipos de la clase <a title="Documentación oficial de la clase Element mootools" href="http://docs.mootools.net/Native/Element.js" target="_blank">Element</a> aplicados</strong> (aquí está el dopping, lo explico un poquito mas adelante).</p>
<p>Ejemplos:</p>
<p>var miElem=$(&#8217;id_del_elemento&#8217;);</p>
<p>var miElem2=$(miElem);</p>
<p>En este caso ambas variables almacenarían el mismo elemento del DOM (aquel cuyo ID sera id_del_elemento). Es importante decir que $ no producirá un error si el elemento no se encuentra mientras que getElementById, si lo haría.</p>
<p>En estos momentos puedes estar planteandote si esto es para tanto. ¿$() es un simple alias de getElementById que no produce errores si no encuentra el elemento? No. Como decía antes $() devolverá una instancia de la clase Element de Mootools (es decir, no devolverá un elemento del DOM sin más), esto es realmente bueno ya que la clase <a title="Documentación oficial de la clase Element mootools" href="http://docs.mootools.net/Native/Element.js" target="_blank">Element</a> proporciona un buen conjunto de métodos realmente útiles (hablaré de ella en otro post).</p>
<p><strong>$$(), la repanocha</strong></p>
<p>Vamos un poco más allá. Mientras que $() devuelve una instancia de Element, $$() devuelve un array de instancias de Element. Lo bueno del tema es que como argumento recibe (o puede recibir) un número ilimitado de:</p>
<p>-elementos</p>
<p>-strings que representen ids de elementos</p>
<p>-strings que representen tags html</p>
<p>-strings que representen selectores CSS (eso solo si tenemos Element.Selectors.js, algo que seguramente tendrás a no ser que hayas descargado una versión no completa de Mootools por alguna razón y no lo hayas incluido)</p>
<p>-arrays de elementos</p>
<p>La documentación ofrece un ejemplo muy completo que voy a pegar y explicar:</p>
<pre class="javascript">$$<span class="br0">(</span>myelement, myelement2, <span class="st0">&#8216;a&#8217;</span>, <span class="br0">[</span><span class="st0">'myid'</span>, myid2, <span class="st0">'myid3'</span><span class="br0">]</span>, document.<span class="me1">getElementsByTagName</span><span class="br0">(</span><span class="st0">&#8216;div&#8217;</span><span class="br0">)</span><span class="br0">,&#8217;#id1 a.class1&#8242;)</span> <span class="co1">
Esto nos devolverá un array con:
1)Los elementos &#8220;myelement&#8221; y myelement2 si existen (imagina que myelement2 fuera $(&#8217;id_no_existente&#8217;), bien, en ese caso no fallaría nada, simplemente no se incluiría nada)</span><span class="co1">
2) Todo los elementos del documento cuyo tag sea &#8216;a&#8217;</span><span class="co1">
3)</span><span class="co1"> Los elementos </span><span class="st0">&#8216;myid&#8217;</span>, myid2, <span class="st0">&#8216;myid3&#8242;</span><span class="co1"> si existen</span><span class="co1">
4) Todos los elementos cuyo tag sea &#8216;div&#8217;
5) </span><span class="br0">Todos los elementos cuyo tag sea &#8216;a&#8217; y cuya clase sea &#8216;class1&#8242; y pertenezcan a al elemento cuyo id sea &#8216;id1&#8242;</span></pre>
<p>Y todo esto en un array de Elements, facilmente manejable. No hacen falta más comentarios.</p>
<p><strong>$E() muchas veces entendido como &#8220;first element of&#8221;&#8230;</strong></p>
<p>aunque es algo más que eso. $E() se parece a $() por una razón, devuelve 1 Element (nada de arrays) pero se diferencia en que recibe 1 o 2 parámetros (el segundo es opcional) y el primer parámetro no es un ID sino un selector CSS. Ejemplo:</p>
<p>$E(&#8217;a')</p>
<p>Devolverá el primer elemento del documento cuyo tag sea &#8216;a&#8217; (el primer link). Fijaos en que el parámetro no es un id el DOM como pasaba en $() si no que es un selector CSS (en este caso un tag) y por tanto dicho selector representa potencialmente a un número variable de elementos, sin embargo $E devuelve solo 1 ocurrencia (la primera) de ahí su mote de &#8220;first&#8221;. Lo realmente bueno de esta función es que podemos cambiar el &#8217;scope&#8217;, es decir, podemos dejarlo buscar en todo el documento o solo dentro de un elemento del DOM. Imaginad ahora que queremos el primer elemento strong con clase str1 y que esté dentro de la div &#8216;test1&#8242;, pues:</p>
<p>$E(&#8217;strong.str1&#8242;,&#8217;test1&#8242;)</p>
<p>(notad que el segundo parametro es un string representando un ID)</p>
<p><strong> $ES() &#8230; Todos los $E()</strong></p>
<p>Simple y llanamente recibe los mismos parámetros que $E() pero devuelve TODOS los elementos en vez de solo el primero. Evidentemente devuelve un array igual que $$(). El ejemplo anterior es válido pero en vez de obtener el primer strong.class1 de test1, obtendríamos todos.</p>
<p>Para acabar con los getters he de decir que aunque $E() y $ES() son muy potentes es muchísimo más común el uso de $ y $$.</p>
<p>Próximamente hablaré de la clase Array que junto a Element y Event son para mi gusto los 3 puntales más importantes del framework. El resto de funciones $ (la del core y alguna más, las dejo para más adelante).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxizeyourself.com/2008/06/las-funciones-en-mootools-5-basicos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Curioso comportamiento de IE con overflow:hidden y position:relative</title>
		<link>http://www.ajaxizeyourself.com/2008/06/curioso-comportamiento-de-ie-con-overflowhidden-y-positionrelative/</link>
		<comments>http://www.ajaxizeyourself.com/2008/06/curioso-comportamiento-de-ie-con-overflowhidden-y-positionrelative/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 21:14:38 +0000</pubDate>
		<dc:creator>Jose</dc:creator>
		
		<category><![CDATA[Bugs]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://www.ajaxizeyourself.com/?p=5</guid>
		<description><![CDATA[Hace unos días tuve un curioso problema en un proyecto en el curro. La cuestión es que una capa con overflow:hidden y height y witdh fijos no &#8220;enmascaraba&#8221; el contenido interior. Era curioso ya que (como muchas veces) esto sólo ocurría en IE (6 y 7).
La situación es muy simple, más de una vez habréis [...]]]></description>
			<content:encoded><![CDATA[<p>Hace unos días tuve un curioso problema en un proyecto en el curro. La cuestión es que una capa con overflow:hidden y height y witdh fijos no &#8220;enmascaraba&#8221; el contenido interior. Era curioso ya que (como muchas veces) esto sólo ocurría en IE (6 y 7).</p>
<p>La situación es muy simple, más de una vez habréis hecho un scroll, por ejemplo una galería de fotos donde todos los thumbnails están en una &#8220;tira horizontal de ancho variable&#8221; (vamos un capa con alto fijo) y a la que le ponemos position: relative. Esta tira está dentro de una capa con alto y ancho fijos y overflow: hidden. A partir de ahí (en mi &#8216;<a title="Mootools" href="http://www.mootools.net" target="_blank">mootolero</a> caso&#8217;) ponermos un <a title="Fx.Scroll" href="http://demos.mootools.net/Fx.Slide" target="_blank">Fx.Scroll</a> y asociamos a un par de elementos un evento para hacer scrollTo y  desplazar la tira de thumbs.</p>
<p>Muy bien, estupendo. Lo que me ocurrió es que en este caso el Scroll iba a ser vertical. La capa exterior (que yo llamo máscara y normalmente llaman wrapper) tiene las mismas propiedades CSS (height/width fijos + overflow:hidden) y la interior simplemente tiene un ancho fijo (realmente ni siquiera esto sería necesario) y tenía un position:relative para el (al menos yo así lo creia) funcionamiento correcto del scroll.</p>
<p>El resultado lo podeis ver en el <a title="Playground: Bug en IE en position relative?" href="http://www.ajaxizeyourself.com/playground/posrelative" target="_blank">playground</a>(por cierto no he puesto los scrolls para que se aprecie que es una cuestion CSS pura y dura). Vereis que en FF todo funciona correctamente pero en IE el overflow:hidden parece ser ignorado y la altura es estirada. Podeis pinchar en el link &#8220;solucionar problema&#8221; y vereis que en FF no tiene efecto alguno pero en IE la wapa wrapper1 se comportará como esperabamos. Este link simplemente elimina la clase &#8220;relative&#8221; de la capa, dicha clase es la que añade el position:relative a &#8220;inner1&#8243;. El css y js del playground está en /css/playground.css y /js/playground.js, respectivamente.</p>
<p>¿Esto es un bug de IE? Googleé un poco y con prisa y no encontré información  al respecto, pero al menos lo parece. Espero que os sirva de ayuda.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxizeyourself.com/2008/06/curioso-comportamiento-de-ie-con-overflowhidden-y-positionrelative/feed/</wfw:commentRss>
		</item>
		<item>
		<title>¡Arrancamos!</title>
		<link>http://www.ajaxizeyourself.com/2008/05/arrancamos/</link>
		<comments>http://www.ajaxizeyourself.com/2008/05/arrancamos/#comments</comments>
		<pubDate>Sat, 31 May 2008 01:58:11 +0000</pubDate>
		<dc:creator>Jose</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[presentación]]></category>

		<guid isPermaLink="false">http://www.ajaxizeyourself.com/?p=3</guid>
		<description><![CDATA[¡Bienvenidos!
Espero y deseo que AjaxizeYourself sea un sitio en el que te sientas a gusto y donde puedas encontrar información que te sea util. Hablaremos de todo un poco pero sobre todo de web.
Poco a poco iremos llenando todo esto de contenido.
P.D.: Estamos acondicionando todo esto, no te asustes 
]]></description>
			<content:encoded><![CDATA[<p>¡Bienvenidos!</p>
<p>Espero y deseo que AjaxizeYourself sea un sitio en el que te sientas a gusto y donde puedas encontrar información que te sea util. Hablaremos de todo un poco pero sobre todo de web.</p>
<p>Poco a poco iremos llenando todo esto de contenido.</p>
<p>P.D.: Estamos acondicionando todo esto, no te asustes <img src='http://www.ajaxizeyourself.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxizeyourself.com/2008/05/arrancamos/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
