<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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>Comentarios en: Efecto liquido de imagen con Javascript</title>
	<atom:link href="http://tednologia.com/efecto-liquido-de-imagen-con-javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://tednologia.com/efecto-liquido-de-imagen-con-javascript/</link>
	<description>Otro sitio realizado con WordPress</description>
	<lastBuildDate>Mon, 09 Jan 2012 17:09:47 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Por: Betty</title>
		<link>http://tednologia.com/efecto-liquido-de-imagen-con-javascript/#comment-346</link>
		<dc:creator>Betty</dc:creator>
		<pubDate>Tue, 08 Jun 2010 05:12:41 +0000</pubDate>
		<guid isPermaLink="false">http://craftyman.net/?p=933#comment-346</guid>
		<description>hola te felicito por la página, no se si me podrías ayudar trate de hacer el efecto pero no me resulta, primero descargue liquid.php, luego liquid.html, cambie el nombre de la imagen y configure los parametros dentro de liquid.javascript. Pero en la pagian no aparece la imagen, me podrías decir que hize mal. Gracias


    
        Liquid FX by Andrea Giammarchi
        
        
        html, body  {
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
            background: #EEE;
            overflow: hidden;
        }
        ul {
            border-top: 1px solid #CCC;
            border-bottom: 1px solid #CCC;
            margin: 0;
            padding: 0;
            list-style: none;
            width: 100%;
            height: 240px;
            position: absolute;
            top: 50%;
            margin-top: -120px;
            padding-left: 8%;
            background: #FFF;
        }
        li {
            width: 22%;
            float: left;
        }
        #about {
            font-family: Verdana, Helvetica, sans-serif;
            font-size: 8pt;
            position: absolute;
            top: 50%;
            padding: 0;
            margin: 132px auto auto auto;
            left: 50%;
            margin-left: -160px;
        }
        
        
        
        onload = function(){
            var li = document.getElementsByTagName(&quot;li&quot;),
                bottom = li[0],
                top = li[1],
                right = li[2],
                left = li[3]
            ;
 
 
			Liquid({
                scale:2000,
                src:&quot;image1.jpg&quot;,
                target:bottom,
                direction:&quot;bottom&quot;,
                callback:function(config){
                    config.target = top;
                    config.direction = &quot;top&quot;;
                    config.callback = function(){
                        config.target = right;
                        config.direction = &quot;right&quot;;
                        config.callback = function(){
                            config.target = left;
                            config.direction = &quot;left&quot;;
                            delete config.callback;
                            Liquid(config);
                        };
                        Liquid(config);
                    };
                    Liquid(config);
                }
            });
        };
        
 
    
    
        
            
            
            
            
        
        &lt;strong&gt;Liquid FX&lt;/strong&gt; by Andrea Giammarchi @ &lt;a href=&quot;http://webreflection.blogspot.com/&quot; rel=&quot;nofollow&quot;&gt;WebReflection&lt;/a&gt; - &lt;strong&gt;&lt;a href=&quot;vaio.html&quot; rel=&quot;nofollow&quot;&gt;DEMO No. 2&lt;/a&gt;&lt;/strong&gt;
    

*******************************************************************
php : liquid.php
/*(C) Andrea Giammarchi*/(function(d,e){function h(m){function q(){k.removeChild(s);s=i=null;m.interval=0;m.callee=m.pause=m.play=null;if(m.callback){m.callback(m)}}var k=m.target.appendChild(m.document.createElement(&quot;div&quot;)),j=k.cloneNode(true),l=this.width,v=this.height,s=this,w=k.style,t=j.style,i=s.style,p=m.scale&#124;&#124;2000,o=m.speed&#124;&#124;10,n,u,r;g(w,t,i);f(w,t);a(t,i);w.position=&quot;relative&quot;;w.width=l+&quot;px&quot;;w.height=v+&quot;px&quot;;w.overflow=&quot;hidden&quot;;i.zIndex=1;t.zIndex=2;p/=100;switch(m.direction){case&quot;top&quot;:t.height=0+&quot;px&quot;;t.width=l+&quot;px&quot;;i.top=(u=v)+&quot;px&quot;;s.setAttribute(&quot;width&quot;,l);s.setAttribute(&quot;height&quot;,d(p*v));n=0;p=o/p;m.interval=setTimeout(m.callee=function(){if(n&lt;v){u-=o;i.top=d(u+n)+&quot;px&quot;;if(u&lt;0){t.height=d(n+=p)+&quot;px&quot;}m.interval=setTimeout(m.callee,15)}else{q()}},15);break;case&quot;bottom&quot;:t.height=0+&quot;px&quot;;t.width=l+&quot;px&quot;;t.top=v+&quot;px&quot;;i.top=(u=-d(p*v))+&quot;px&quot;;s.setAttribute(&quot;width&quot;,l);s.setAttribute(&quot;height&quot;,-u);l=-d(p*v-v);n=0;p=o/p;m.interval=setTimeout(m.callee=function(){if(n&lt;v){u+=o;i.top=d(u-n)+&quot;px&quot;;if(l&lt;u){t.height=(r=d(n+=p))+&quot;px&quot;;t.top=(v-r)+&quot;px&quot;}m.interval=setTimeout(m.callee,15)}else{q()}},15);break;case&quot;right&quot;:t.width=0+&quot;px&quot;;t.left=l+&quot;px&quot;;t.height=v+&quot;px&quot;;i.left=(n=-d(p*l))+&quot;px&quot;;s.setAttribute(&quot;width&quot;,-n);s.setAttribute(&quot;height&quot;,v);v=-d(p*l-l);u=0;p=o/p;m.interval=setTimeout(m.callee=function(){if(u&lt;l){n+=o;i.left=d(n-u)+&quot;px&quot;;if(v&lt;n){t.width=(r=d(u+=p))+&quot;px&quot;;t.left=(l-r)+&quot;px&quot;}m.interval=setTimeout(m.callee,15)}else{q()}},15);break;default:t.width=0+&quot;px&quot;;i.top=&quot;0px&quot;;t.height=v+&quot;px&quot;;i.left=(n=l)+&quot;px&quot;;s.setAttribute(&quot;width&quot;,d(p*l));s.setAttribute(&quot;height&quot;,v);u=0;p=o/p;m.interval=setTimeout(m.callee=function(){if(u&lt;l){n-=o;i.left=d(n+u)+&quot;px&quot;;if(n&lt;=0){t.width=d(u+=p)+&quot;px&quot;}m.interval=setTimeout(m.callee,15)}else{q()}},15);break}t.background=(m.background&#124;&#124;&quot;transparent&quot;)+&quot; url(&quot;+m.src+&quot;) no-repeat &quot;+(m.direction&#124;&#124;&quot;left&quot;);k.appendChild(s);k.appendChild(j)}function b(m){function q(){l.parentNode.removeChild(l);l.removeChild(s);l.removeChild(j);l=j=s=w=t=i=null;m.interval=0;m.callee=m.pause=m.play=null;if(m.callback){m.callback(m)}}var j=m.target.getElementsByTagName(&quot;div&quot;),l=j[0],j=j[1],s=m.document.createElement(&quot;img&quot;),w=l.style,t=j.style,i=s.style,k=parseInt(w.width,10),v=parseInt(w.height,10),p=m.scale&#124;&#124;2000,o=m.speed&#124;&#124;10,n,u,r;a(i);g(i);i.zIndex=1;t.backgroundPosition=m.direction&#124;&#124;&quot;left&quot;;p/=100;s.onload=function(){switch(m.direction){case&quot;top&quot;:s.setAttribute(&quot;width&quot;,k);s.setAttribute(&quot;height&quot;,k=d(p*v));i.top=(u=-k+v)+&quot;px&quot;;n=0;p=o/p;m.interval=setTimeout(m.callee=function(){if(u+n&lt;v){u+=o;i.top=d(u+n)+&quot;px&quot;;if(-v&lt;(r=d(n-=p))){t.height=(v+r)+&quot;px&quot;}m.interval=setTimeout(m.callee,15)}else{q()}},15);break;case&quot;bottom&quot;:s.setAttribute(&quot;width&quot;,k);s.setAttribute(&quot;height&quot;,k=d(p*v));k+=n=v;u=0;p=o/p;m.interval=setTimeout(m.callee=function(){if(-u&lt;k){u-=o;i.top=d(u+(v-n))+&quot;px&quot;;t.top=(v-(r=d(n-=p)))+&quot;px&quot;;if(0&lt;r){t.height=r+&quot;px&quot;}m.interval=setTimeout(m.callee,15)}else{q()}},15);break;case&quot;right&quot;:s.setAttribute(&quot;height&quot;,v);s.setAttribute(&quot;width&quot;,v=d(p*k));n=u=0;p=o/p;m.interval=setTimeout(m.callee=function(){if(-n-u&lt;v){i.left=d((n-=o)+u)+&quot;px&quot;;if((r=d(u+=p))&lt;k){t.width=(k-r)+&quot;px&quot;;t.left=r+&quot;px&quot;}m.interval=setTimeout(m.callee,15)}else{q()}},15);break;default:s.setAttribute(&quot;height&quot;,v);s.setAttribute(&quot;width&quot;,n=d(p*k));i.left=(n=-(n-k))+&quot;px&quot;;u=0;p=o/p;m.interval=setTimeout(m.callee=function(){if(n-u&lt;k){i.left=d((n+=o)-u)+&quot;px&quot;;r=d(u+=p);if(r&lt;k){t.width=(k-r)+&quot;px&quot;}m.interval=setTimeout(m.callee,15)}else{q()}},15);break}};l.insertBefore(s,j);s.src=m.src}function g(){for(var j=0,k=arguments.length;j&lt;k;++j){arguments[j].padding=arguments[j].margin=arguments[j].border=&quot;0px&quot;}}function f(){for(var j=0,k=arguments.length;j&lt;k;++j){arguments[j].fontSize=arguments[j].lineHeight=&quot;0px&quot;;arguments[j].textAlign=&quot;left&quot;}}function a(){for(var j=0,k=arguments.length;j&lt;k;++j){arguments[j].top=arguments[j].left=&quot;0px&quot;;arguments[j].position=&quot;absolute&quot;}}function c(j){if(j.reverse){b(j)}else{var i=(j.document&#124;&#124;(j.document=document)).createElement(&quot;img&quot;);i.onload=function(){i.removeAttribute(&quot;onload&quot;);if(j.onload){j.onload(i)}h.call(i,j)};i.src=j.src;j.pause=function(){clearTimeout(j.interval)};j.play=function(){j.interval=setTimeout(j.callee,15)}}return j}e.Liquid=c})(Math.round,window);
*******************************************************************
javascript : liquid.javascript
(function(round, window){
/** Liquid - Pure JavaScript Liquid Effect
 * @author          Andrea Giammarchi
 * @blog            webreflection.blogspot.com
 * @license         Mit Style License
 * @version         1.4 - less DOM, smaller, faster
 * @compatibility   all but Safari &lt;= 2 and IE4
 */
function onload(config){
    function onload(){
        wrap.removeChild(img);
        img = $img = null;
        config.interval = 0;
        config.callee = config.pause = config.play = null;
        if(config.callback)
            config.callback(config)
        ;
    };

	var wrap    = config.target.appendChild(config.document.createElement(&quot;div&quot;)),
        div     = wrap.cloneNode(true),
        width   = this.width,
        height  = this.height,
        img     = this,
        $wrap   = wrap.style,
        $div    = div.style,
        $img    = img.style,
        scale   = config.scale &#124;&#124; 2000,
        speed   = config.speed &#124;&#124; 10,
        left, top, $
    ;
    margin($wrap, $div, $img);
    fontSize($wrap, $div);
    position($div, $img);
    $wrap.position = &quot;relative&quot;;
    $wrap.width = width + &quot;px&quot;;
    $wrap.height = height + &quot;px&quot;;
    $wrap.overflow = &quot;hidden&quot;;
    $img.zIndex = 1;
    $div.zIndex = 2;
    scale /= 100;
    switch(config.direction){
        case    &quot;top&quot;:
            $div.height = 0 + &quot;px&quot;;
            $div.width = width + &quot;px&quot;;
            $img.top = (top = height) + &quot;px&quot;;
            img.setAttribute(&quot;width&quot;, width);
            img.setAttribute(&quot;height&quot;, round(scale * height));
            left = 0;
            scale = speed / scale;
            config.interval = setTimeout(config.callee = function(){
                if(left &lt; height){
                    top -= speed;
                    $img.top = round(top + left) + &quot;px&quot;;
                    if(top &lt; 0)
                        $div.height = round(left += scale) + &quot;px&quot;
                    ;
                    config.interval = setTimeout(config.callee, 15);
                } else
                    onload()
                ;
            }, 15);
            break;
        case    &quot;bottom&quot;:
            $div.height = 0 + &quot;px&quot;;
            $div.width = width + &quot;px&quot;;
            $div.top = height + &quot;px&quot;;
            $img.top = (top = -round(scale * height)) + &quot;px&quot;;
            img.setAttribute(&quot;width&quot;, width);
            img.setAttribute(&quot;height&quot;, -top);
            width = -round(scale * height - height);
            left = 0;
            scale = speed / scale;
            config.interval = setTimeout(config.callee = function(){
                if(left &lt; height){
                    top += speed;
                    $img.top = round(top - left) + &quot;px&quot;;
                    if(width &lt; top){
                        $div.height = ($ = round(left += scale)) + &quot;px&quot;;
                        $div.top = (height - $) + &quot;px&quot;;
                    };
                    config.interval = setTimeout(config.callee, 15);
                } else
                    onload()
                ;
            }, 15);
            break;
        case    &quot;right&quot;:
            $div.width = 0 + &quot;px&quot;;
            $div.left = width + &quot;px&quot;;
            $div.height = height + &quot;px&quot;;
            $img.left = (left = -round(scale * width)) + &quot;px&quot;;
            img.setAttribute(&quot;width&quot;, -left);
            img.setAttribute(&quot;height&quot;, height);
            height = -round(scale * width - width);
            top = 0;
            scale = speed / scale;
            config.interval = setTimeout(config.callee = function(){
                if(top &lt; width){
                    left += speed;
                    $img.left = round(left - top) + &quot;px&quot;;
                    if(height &lt; left){
                        $div.width = ($ = round(top += scale)) + &quot;px&quot;;
                        $div.left = (width - $) + &quot;px&quot;;
                    };
                    config.interval = setTimeout(config.callee, 15);
                } else
                    onload()
                ;
            }, 15);
            break;
        default:
            $div.width = 0 + &quot;px&quot;;
            $img.top = &quot;0px&quot;;
            $div.height = height + &quot;px&quot;;
            $img.left = (left = width) + &quot;px&quot;;
            img.setAttribute(&quot;width&quot;, round(scale * width));
            img.setAttribute(&quot;height&quot;, height);
            top = 0;
            scale = speed / scale;
            config.interval = setTimeout(config.callee = function(){
                if(top &lt; width){
                    left -= speed;
                    $img.left = round(left + top) + &quot;px&quot;;
                    if(left &lt;= 0)
                        $div.width = round(top += scale) + &quot;px&quot;
                    ;
                    config.interval = setTimeout(config.callee, 15);
                } else
                    onload()
                ;
            }, 15);
            break;
    };
    $div.background = (config.background &#124;&#124; &quot;transparent&quot;) + &quot; url(&quot; + config.src + &quot;) no-repeat &quot; + (config.direction &#124;&#124; &quot;left&quot;);
    wrap.appendChild(img);
    wrap.appendChild(div);
};
function $onload(config){
    function onload(){
        wrap.parentNode.removeChild(wrap);
        wrap.removeChild(img);
        wrap.removeChild(div);
        wrap = div = img = $wrap = $div = $img = null;
        config.interval = 0;
        config.callee = config.pause = config.play = null;
        if(config.callback)
            config.callback(config)
        ;
    };
    var div     = config.target.getElementsByTagName(&quot;div&quot;),
        wrap    = div[0],
        div     = div[1],
        img     = config.document.createElement(&quot;img&quot;),
        $wrap   = wrap.style,
        $div    = div.style,
        $img    = img.style,
        width   = parseInt($wrap.width, 10),
        height  = parseInt($wrap.height, 10),
        scale   = config.scale &#124;&#124; 2000,
        speed   = config.speed &#124;&#124; 10,
        left, top, $
    ;
    var fx = Liquid({  
    src:&quot;image1.jpg&quot;,  
    target: document.getElementById(&quot;fx&quot;)  
    direction: &quot;left&quot;,  
    scale: 2000,  
    speed: 10,  
    onload:function(){/*FX not started yet*/},  
    reverse:true  
 }); 
    position($img);
    margin($img);
    $img.zIndex = 1;
    $div.backgroundPosition = config.direction &#124;&#124; &quot;left&quot;;
    scale /= 100;
    img.onload = function(){
        switch(config.direction){
            case    &quot;top&quot;:
                img.setAttribute(&quot;width&quot;, width);
                img.setAttribute(&quot;height&quot;, width = round(scale * height));
                $img.top = (top = -width + height) + &quot;px&quot;;
                left = 0;
                scale = speed / scale;
                config.interval = setTimeout(config.callee = function(){
                    if(top + left &lt; height){
                        top += speed;
                        $img.top = round(top + left) + &quot;px&quot;;
                        if(-height &lt; ($ = round(left -= scale)))
                            $div.height = (height + $) + &quot;px&quot;
                        ;
                        config.interval = setTimeout(config.callee, 15);
                    } else
                        onload()
                    ;
                }, 15);
                break;
            case    &quot;bottom&quot;:
                img.setAttribute(&quot;width&quot;, width);
                img.setAttribute(&quot;height&quot;, width = round(scale * height));
                width += left = height;
                top = 0;
                scale = speed / scale;
                config.interval = setTimeout(config.callee = function(){
                    if(-top &lt; width){
                        top -= speed;
                        $img.top = round(top + (height - left)) + &quot;px&quot;;
                        $div.top = (height - ($ = round(left -= scale))) + &quot;px&quot;;
                        if(0 &lt; $)
                            $div.height = $ + &quot;px&quot;
                        ;
                        config.interval = setTimeout(config.callee, 15);
                    } else
                        onload()
                    ;
                }, 15);
                break;
            case    &quot;right&quot;:
                img.setAttribute(&quot;height&quot;, height);
                img.setAttribute(&quot;width&quot;, height = round(scale * width));
                left = top = 0;
                scale = speed / scale;
                config.interval = setTimeout(config.callee = function(){
                    if(-left - top &lt; height){
                        $img.left = round((left -= speed) + top) + &quot;px&quot;;
                        if(($ = round(top += scale)) &lt; width){
                            $div.width = (width - $) + &quot;px&quot;;
                            $div.left = $ + &quot;px&quot;;
                        };
                        config.interval = setTimeout(config.callee, 15);
                    } else
                        onload()
                    ;
                }, 15);
                break;
            default:
                img.setAttribute(&quot;height&quot;, height);
                img.setAttribute(&quot;width&quot;, left = round(scale * width));
                $img.left = (left = -(left - width)) + &quot;px&quot;;
                top = 0;
                scale = speed / scale;
                config.interval = setTimeout(config.callee = function(){
                    if(left - top &lt; width){
                        $img.left = round((left += speed) - top) + &quot;px&quot;;
                        $ = round(top += scale);
                        if($ &lt; width)
                            $div.width = (width - $) + &quot;px&quot;
                        ;
                        config.interval = setTimeout(config.callee, 15);
                    } else
                        onload()
                    ;
                }, 15);
                break;
        };
    };
    wrap.insertBefore(img, div);
    img.src = config.src;
};
function margin(){
    for(var i = 0, length = arguments.length; i &lt; length; ++i)
        arguments[i].padding = arguments[i].margin = arguments[i].border = &quot;0px&quot;
    ;
};
function fontSize(){
    for(var i = 0, length = arguments.length; i &lt; length; ++i){
        arguments[i].fontSize = arguments[i].lineHeight = &quot;0px&quot;;
        arguments[i].textAlign = &quot;left&quot;;
    };
};
function position(){
    for(var i = 0, length = arguments.length; i &lt; length; ++i){
        arguments[i].top = arguments[i].left = &quot;0px&quot;;
        arguments[i].position = &quot;absolute&quot;;
    };
};
function Liquid(config){
    if(config.reverse)
        $onload(config)
    ; else {
        var img = (config.document &#124;&#124; (config.document = document)).createElement(&quot;img&quot;);
        img.onload = function(){
            img.removeAttribute(&quot;onload&quot;);
            if(config.onload)
                config.onload(img)
            ;
            onload.call(img, config);
        };
        img.src = config.src;
        config.pause = function(){clearTimeout(config.interval)};
        config.play = function(){config.interval = setTimeout(config.callee, 15)};
    };
    return config;
};
 

window.Liquid = Liquid;

})(Math.round, window);</description>
		<content:encoded><![CDATA[<p>hola te felicito por la página, no se si me podrías ayudar trate de hacer el efecto pero no me resulta, primero descargue liquid.php, luego liquid.html, cambie el nombre de la imagen y configure los parametros dentro de liquid.javascript. Pero en la pagian no aparece la imagen, me podrías decir que hize mal. Gracias</p>
<p>        Liquid FX by Andrea Giammarchi</p>
<p>        html, body  {<br />
            width: 100%;<br />
            height: 100%;<br />
            margin: 0;<br />
            padding: 0;<br />
            background: #EEE;<br />
            overflow: hidden;<br />
        }<br />
        ul {<br />
            border-top: 1px solid #CCC;<br />
            border-bottom: 1px solid #CCC;<br />
            margin: 0;<br />
            padding: 0;<br />
            list-style: none;<br />
            width: 100%;<br />
            height: 240px;<br />
            position: absolute;<br />
            top: 50%;<br />
            margin-top: -120px;<br />
            padding-left: 8%;<br />
            background: #FFF;<br />
        }<br />
        li {<br />
            width: 22%;<br />
            float: left;<br />
        }<br />
        #about {<br />
            font-family: Verdana, Helvetica, sans-serif;<br />
            font-size: 8pt;<br />
            position: absolute;<br />
            top: 50%;<br />
            padding: 0;<br />
            margin: 132px auto auto auto;<br />
            left: 50%;<br />
            margin-left: -160px;<br />
        }</p>
<p>        onload = function(){<br />
            var li = document.getElementsByTagName(&#8220;li&#8221;),<br />
                bottom = li[0],<br />
                top = li[1],<br />
                right = li[2],<br />
                left = li[3]<br />
            ;</p>
<p>			Liquid({<br />
                scale:2000,<br />
                src:&#8221;image1.jpg&#8221;,<br />
                target:bottom,<br />
                direction:&#8221;bottom&#8221;,<br />
                callback:function(config){<br />
                    config.target = top;<br />
                    config.direction = &#8220;top&#8221;;<br />
                    config.callback = function(){<br />
                        config.target = right;<br />
                        config.direction = &#8220;right&#8221;;<br />
                        config.callback = function(){<br />
                            config.target = left;<br />
                            config.direction = &#8220;left&#8221;;<br />
                            delete config.callback;<br />
                            Liquid(config);<br />
                        };<br />
                        Liquid(config);<br />
                    };<br />
                    Liquid(config);<br />
                }<br />
            });<br />
        };</p>
<p>        <strong>Liquid FX</strong> by Andrea Giammarchi @ <a href="http://webreflection.blogspot.com/" rel="nofollow">WebReflection</a> &#8211; <strong><a href="vaio.html" rel="nofollow">DEMO No. 2</a></strong></p>
<p>*******************************************************************<br />
php : liquid.php<br />
/*(C) Andrea Giammarchi*/(function(d,e){function h(m){function q(){k.removeChild(s);s=i=null;m.interval=0;m.callee=m.pause=m.play=null;if(m.callback){m.callback(m)}}var k=m.target.appendChild(m.document.createElement(&#8220;div&#8221;)),j=k.cloneNode(true),l=this.width,v=this.height,s=this,w=k.style,t=j.style,i=s.style,p=m.scale||2000,o=m.speed||10,n,u,r;g(w,t,i);f(w,t);a(t,i);w.position=&#8221;relative&#8221;;w.width=l+&#8221;px&#8221;;w.height=v+&#8221;px&#8221;;w.overflow=&#8221;hidden&#8221;;i.zIndex=1;t.zIndex=2;p/=100;switch(m.direction){case&#8221;top&#8221;:t.height=0+&#8221;px&#8221;;t.width=l+&#8221;px&#8221;;i.top=(u=v)+&#8221;px&#8221;;s.setAttribute(&#8220;width&#8221;,l);s.setAttribute(&#8220;height&#8221;,d(p*v));n=0;p=o/p;m.interval=setTimeout(m.callee=function(){if(n&lt;v){u-=o;i.top=d(u+n)+&quot;px&quot;;if(u&lt;0){t.height=d(n+=p)+&quot;px&quot;}m.interval=setTimeout(m.callee,15)}else{q()}},15);break;case&quot;bottom&quot;:t.height=0+&quot;px&quot;;t.width=l+&quot;px&quot;;t.top=v+&quot;px&quot;;i.top=(u=-d(p*v))+&quot;px&quot;;s.setAttribute(&quot;width&quot;,l);s.setAttribute(&quot;height&quot;,-u);l=-d(p*v-v);n=0;p=o/p;m.interval=setTimeout(m.callee=function(){if(n&lt;v){u+=o;i.top=d(u-n)+&quot;px&quot;;if(l&lt;u){t.height=(r=d(n+=p))+&quot;px&quot;;t.top=(v-r)+&quot;px&quot;}m.interval=setTimeout(m.callee,15)}else{q()}},15);break;case&quot;right&quot;:t.width=0+&quot;px&quot;;t.left=l+&quot;px&quot;;t.height=v+&quot;px&quot;;i.left=(n=-d(p*l))+&quot;px&quot;;s.setAttribute(&quot;width&quot;,-n);s.setAttribute(&quot;height&quot;,v);v=-d(p*l-l);u=0;p=o/p;m.interval=setTimeout(m.callee=function(){if(u&lt;l){n+=o;i.left=d(n-u)+&quot;px&quot;;if(v&lt;n){t.width=(r=d(u+=p))+&quot;px&quot;;t.left=(l-r)+&quot;px&quot;}m.interval=setTimeout(m.callee,15)}else{q()}},15);break;default:t.width=0+&quot;px&quot;;i.top=&quot;0px&quot;;t.height=v+&quot;px&quot;;i.left=(n=l)+&quot;px&quot;;s.setAttribute(&quot;width&quot;,d(p*l));s.setAttribute(&quot;height&quot;,v);u=0;p=o/p;m.interval=setTimeout(m.callee=function(){if(u&lt;l){n-=o;i.left=d(n+u)+&quot;px&quot;;if(n&lt;=0){t.width=d(u+=p)+&quot;px&quot;}m.interval=setTimeout(m.callee,15)}else{q()}},15);break}t.background=(m.background||&quot;transparent&quot;)+&quot; url(&quot;+m.src+&quot;) no-repeat &quot;+(m.direction||&quot;left&quot;);k.appendChild(s);k.appendChild(j)}function b(m){function q(){l.parentNode.removeChild(l);l.removeChild(s);l.removeChild(j);l=j=s=w=t=i=null;m.interval=0;m.callee=m.pause=m.play=null;if(m.callback){m.callback(m)}}var j=m.target.getElementsByTagName(&quot;div&quot;),l=j[0],j=j[1],s=m.document.createElement(&quot;img&quot;),w=l.style,t=j.style,i=s.style,k=parseInt(w.width,10),v=parseInt(w.height,10),p=m.scale||2000,o=m.speed||10,n,u,r;a(i);g(i);i.zIndex=1;t.backgroundPosition=m.direction||&quot;left&quot;;p/=100;s.onload=function(){switch(m.direction){case&quot;top&quot;:s.setAttribute(&quot;width&quot;,k);s.setAttribute(&quot;height&quot;,k=d(p*v));i.top=(u=-k+v)+&quot;px&quot;;n=0;p=o/p;m.interval=setTimeout(m.callee=function(){if(u+n&lt;v){u+=o;i.top=d(u+n)+&quot;px&quot;;if(-v&lt;(r=d(n-=p))){t.height=(v+r)+&quot;px&quot;}m.interval=setTimeout(m.callee,15)}else{q()}},15);break;case&quot;bottom&quot;:s.setAttribute(&quot;width&quot;,k);s.setAttribute(&quot;height&quot;,k=d(p*v));k+=n=v;u=0;p=o/p;m.interval=setTimeout(m.callee=function(){if(-u&lt;k){u-=o;i.top=d(u+(v-n))+&quot;px&quot;;t.top=(v-(r=d(n-=p)))+&quot;px&quot;;if(0&lt;r){t.height=r+&quot;px&quot;}m.interval=setTimeout(m.callee,15)}else{q()}},15);break;case&quot;right&quot;:s.setAttribute(&quot;height&quot;,v);s.setAttribute(&quot;width&quot;,v=d(p*k));n=u=0;p=o/p;m.interval=setTimeout(m.callee=function(){if(-n-u&lt;v){i.left=d((n-=o)+u)+&quot;px&quot;;if((r=d(u+=p))&lt;k){t.width=(k-r)+&quot;px&quot;;t.left=r+&quot;px&quot;}m.interval=setTimeout(m.callee,15)}else{q()}},15);break;default:s.setAttribute(&quot;height&quot;,v);s.setAttribute(&quot;width&quot;,n=d(p*k));i.left=(n=-(n-k))+&quot;px&quot;;u=0;p=o/p;m.interval=setTimeout(m.callee=function(){if(n-u&lt;k){i.left=d((n+=o)-u)+&quot;px&quot;;r=d(u+=p);if(r&lt;k){t.width=(k-r)+&quot;px&quot;}m.interval=setTimeout(m.callee,15)}else{q()}},15);break}};l.insertBefore(s,j);s.src=m.src}function g(){for(var j=0,k=arguments.length;j&lt;k;++j){arguments[j].padding=arguments[j].margin=arguments[j].border=&quot;0px&quot;}}function f(){for(var j=0,k=arguments.length;j&lt;k;++j){arguments[j].fontSize=arguments[j].lineHeight=&quot;0px&quot;;arguments[j].textAlign=&quot;left&quot;}}function a(){for(var j=0,k=arguments.length;j&lt;k;++j){arguments[j].top=arguments[j].left=&quot;0px&quot;;arguments[j].position=&quot;absolute&quot;}}function c(j){if(j.reverse){b(j)}else{var i=(j.document||(j.document=document)).createElement(&quot;img&quot;);i.onload=function(){i.removeAttribute(&quot;onload&quot;);if(j.onload){j.onload(i)}h.call(i,j)};i.src=j.src;j.pause=function(){clearTimeout(j.interval)};j.play=function(){j.interval=setTimeout(j.callee,15)}}return j}e.Liquid=c})(Math.round,window);<br />
*******************************************************************<br />
javascript : liquid.javascript<br />
(function(round, window){<br />
/** Liquid &#8211; Pure JavaScript Liquid Effect<br />
 * @author          Andrea Giammarchi<br />
 * @blog            webreflection.blogspot.com<br />
 * @license         Mit Style License<br />
 * @version         1.4 &#8211; less DOM, smaller, faster<br />
 * @compatibility   all but Safari &lt;= 2 and IE4<br />
 */<br />
function onload(config){<br />
    function onload(){<br />
        wrap.removeChild(img);<br />
        img = $img = null;<br />
        config.interval = 0;<br />
        config.callee = config.pause = config.play = null;<br />
        if(config.callback)<br />
            config.callback(config)<br />
        ;<br />
    };</p>
<p>	var wrap    = config.target.appendChild(config.document.createElement(&quot;div&quot;)),<br />
        div     = wrap.cloneNode(true),<br />
        width   = this.width,<br />
        height  = this.height,<br />
        img     = this,<br />
        $wrap   = wrap.style,<br />
        $div    = div.style,<br />
        $img    = img.style,<br />
        scale   = config.scale || 2000,<br />
        speed   = config.speed || 10,<br />
        left, top, $<br />
    ;<br />
    margin($wrap, $div, $img);<br />
    fontSize($wrap, $div);<br />
    position($div, $img);<br />
    $wrap.position = &quot;relative&quot;;<br />
    $wrap.width = width + &quot;px&quot;;<br />
    $wrap.height = height + &quot;px&quot;;<br />
    $wrap.overflow = &quot;hidden&quot;;<br />
    $img.zIndex = 1;<br />
    $div.zIndex = 2;<br />
    scale /= 100;<br />
    switch(config.direction){<br />
        case    &quot;top&quot;:<br />
            $div.height = 0 + &quot;px&quot;;<br />
            $div.width = width + &quot;px&quot;;<br />
            $img.top = (top = height) + &quot;px&quot;;<br />
            img.setAttribute(&quot;width&quot;, width);<br />
            img.setAttribute(&quot;height&quot;, round(scale * height));<br />
            left = 0;<br />
            scale = speed / scale;<br />
            config.interval = setTimeout(config.callee = function(){<br />
                if(left &lt; height){<br />
                    top -= speed;<br />
                    $img.top = round(top + left) + &quot;px&quot;;<br />
                    if(top &lt; 0)<br />
                        $div.height = round(left += scale) + &quot;px&quot;<br />
                    ;<br />
                    config.interval = setTimeout(config.callee, 15);<br />
                } else<br />
                    onload()<br />
                ;<br />
            }, 15);<br />
            break;<br />
        case    &quot;bottom&quot;:<br />
            $div.height = 0 + &quot;px&quot;;<br />
            $div.width = width + &quot;px&quot;;<br />
            $div.top = height + &quot;px&quot;;<br />
            $img.top = (top = -round(scale * height)) + &quot;px&quot;;<br />
            img.setAttribute(&quot;width&quot;, width);<br />
            img.setAttribute(&quot;height&quot;, -top);<br />
            width = -round(scale * height &#8211; height);<br />
            left = 0;<br />
            scale = speed / scale;<br />
            config.interval = setTimeout(config.callee = function(){<br />
                if(left &lt; height){<br />
                    top += speed;<br />
                    $img.top = round(top &#8211; left) + &quot;px&quot;;<br />
                    if(width &lt; top){<br />
                        $div.height = ($ = round(left += scale)) + &quot;px&quot;;<br />
                        $div.top = (height &#8211; $) + &quot;px&quot;;<br />
                    };<br />
                    config.interval = setTimeout(config.callee, 15);<br />
                } else<br />
                    onload()<br />
                ;<br />
            }, 15);<br />
            break;<br />
        case    &quot;right&quot;:<br />
            $div.width = 0 + &quot;px&quot;;<br />
            $div.left = width + &quot;px&quot;;<br />
            $div.height = height + &quot;px&quot;;<br />
            $img.left = (left = -round(scale * width)) + &quot;px&quot;;<br />
            img.setAttribute(&quot;width&quot;, -left);<br />
            img.setAttribute(&quot;height&quot;, height);<br />
            height = -round(scale * width &#8211; width);<br />
            top = 0;<br />
            scale = speed / scale;<br />
            config.interval = setTimeout(config.callee = function(){<br />
                if(top &lt; width){<br />
                    left += speed;<br />
                    $img.left = round(left &#8211; top) + &quot;px&quot;;<br />
                    if(height &lt; left){<br />
                        $div.width = ($ = round(top += scale)) + &quot;px&quot;;<br />
                        $div.left = (width &#8211; $) + &quot;px&quot;;<br />
                    };<br />
                    config.interval = setTimeout(config.callee, 15);<br />
                } else<br />
                    onload()<br />
                ;<br />
            }, 15);<br />
            break;<br />
        default:<br />
            $div.width = 0 + &quot;px&quot;;<br />
            $img.top = &quot;0px&quot;;<br />
            $div.height = height + &quot;px&quot;;<br />
            $img.left = (left = width) + &quot;px&quot;;<br />
            img.setAttribute(&quot;width&quot;, round(scale * width));<br />
            img.setAttribute(&quot;height&quot;, height);<br />
            top = 0;<br />
            scale = speed / scale;<br />
            config.interval = setTimeout(config.callee = function(){<br />
                if(top &lt; width){<br />
                    left -= speed;<br />
                    $img.left = round(left + top) + &quot;px&quot;;<br />
                    if(left &lt;= 0)<br />
                        $div.width = round(top += scale) + &quot;px&quot;<br />
                    ;<br />
                    config.interval = setTimeout(config.callee, 15);<br />
                } else<br />
                    onload()<br />
                ;<br />
            }, 15);<br />
            break;<br />
    };<br />
    $div.background = (config.background || &quot;transparent&quot;) + &quot; url(&quot; + config.src + &quot;) no-repeat &quot; + (config.direction || &quot;left&quot;);<br />
    wrap.appendChild(img);<br />
    wrap.appendChild(div);<br />
};<br />
function $onload(config){<br />
    function onload(){<br />
        wrap.parentNode.removeChild(wrap);<br />
        wrap.removeChild(img);<br />
        wrap.removeChild(div);<br />
        wrap = div = img = $wrap = $div = $img = null;<br />
        config.interval = 0;<br />
        config.callee = config.pause = config.play = null;<br />
        if(config.callback)<br />
            config.callback(config)<br />
        ;<br />
    };<br />
    var div     = config.target.getElementsByTagName(&quot;div&quot;),<br />
        wrap    = div[0],<br />
        div     = div[1],<br />
        img     = config.document.createElement(&quot;img&quot;),<br />
        $wrap   = wrap.style,<br />
        $div    = div.style,<br />
        $img    = img.style,<br />
        width   = parseInt($wrap.width, 10),<br />
        height  = parseInt($wrap.height, 10),<br />
        scale   = config.scale || 2000,<br />
        speed   = config.speed || 10,<br />
        left, top, $<br />
    ;<br />
    var fx = Liquid({<br />
    src:&quot;image1.jpg&quot;,<br />
    target: document.getElementById(&quot;fx&quot;)<br />
    direction: &quot;left&quot;,<br />
    scale: 2000,<br />
    speed: 10,<br />
    onload:function(){/*FX not started yet*/},<br />
    reverse:true<br />
 });<br />
    position($img);<br />
    margin($img);<br />
    $img.zIndex = 1;<br />
    $div.backgroundPosition = config.direction || &quot;left&quot;;<br />
    scale /= 100;<br />
    img.onload = function(){<br />
        switch(config.direction){<br />
            case    &quot;top&quot;:<br />
                img.setAttribute(&quot;width&quot;, width);<br />
                img.setAttribute(&quot;height&quot;, width = round(scale * height));<br />
                $img.top = (top = -width + height) + &quot;px&quot;;<br />
                left = 0;<br />
                scale = speed / scale;<br />
                config.interval = setTimeout(config.callee = function(){<br />
                    if(top + left &lt; height){<br />
                        top += speed;<br />
                        $img.top = round(top + left) + &quot;px&quot;;<br />
                        if(-height &lt; ($ = round(left -= scale)))<br />
                            $div.height = (height + $) + &quot;px&quot;<br />
                        ;<br />
                        config.interval = setTimeout(config.callee, 15);<br />
                    } else<br />
                        onload()<br />
                    ;<br />
                }, 15);<br />
                break;<br />
            case    &quot;bottom&quot;:<br />
                img.setAttribute(&quot;width&quot;, width);<br />
                img.setAttribute(&quot;height&quot;, width = round(scale * height));<br />
                width += left = height;<br />
                top = 0;<br />
                scale = speed / scale;<br />
                config.interval = setTimeout(config.callee = function(){<br />
                    if(-top &lt; width){<br />
                        top -= speed;<br />
                        $img.top = round(top + (height &#8211; left)) + &quot;px&quot;;<br />
                        $div.top = (height &#8211; ($ = round(left -= scale))) + &quot;px&quot;;<br />
                        if(0 &lt; $)<br />
                            $div.height = $ + &quot;px&quot;<br />
                        ;<br />
                        config.interval = setTimeout(config.callee, 15);<br />
                    } else<br />
                        onload()<br />
                    ;<br />
                }, 15);<br />
                break;<br />
            case    &quot;right&quot;:<br />
                img.setAttribute(&quot;height&quot;, height);<br />
                img.setAttribute(&quot;width&quot;, height = round(scale * width));<br />
                left = top = 0;<br />
                scale = speed / scale;<br />
                config.interval = setTimeout(config.callee = function(){<br />
                    if(-left &#8211; top &lt; height){<br />
                        $img.left = round((left -= speed) + top) + &quot;px&quot;;<br />
                        if(($ = round(top += scale)) &lt; width){<br />
                            $div.width = (width &#8211; $) + &quot;px&quot;;<br />
                            $div.left = $ + &quot;px&quot;;<br />
                        };<br />
                        config.interval = setTimeout(config.callee, 15);<br />
                    } else<br />
                        onload()<br />
                    ;<br />
                }, 15);<br />
                break;<br />
            default:<br />
                img.setAttribute(&quot;height&quot;, height);<br />
                img.setAttribute(&quot;width&quot;, left = round(scale * width));<br />
                $img.left = (left = -(left &#8211; width)) + &quot;px&quot;;<br />
                top = 0;<br />
                scale = speed / scale;<br />
                config.interval = setTimeout(config.callee = function(){<br />
                    if(left &#8211; top &lt; width){<br />
                        $img.left = round((left += speed) &#8211; top) + &quot;px&quot;;<br />
                        $ = round(top += scale);<br />
                        if($ &lt; width)<br />
                            $div.width = (width &#8211; $) + &quot;px&quot;<br />
                        ;<br />
                        config.interval = setTimeout(config.callee, 15);<br />
                    } else<br />
                        onload()<br />
                    ;<br />
                }, 15);<br />
                break;<br />
        };<br />
    };<br />
    wrap.insertBefore(img, div);<br />
    img.src = config.src;<br />
};<br />
function margin(){<br />
    for(var i = 0, length = arguments.length; i &lt; length; ++i)<br />
        arguments[i].padding = arguments[i].margin = arguments[i].border = &quot;0px&quot;<br />
    ;<br />
};<br />
function fontSize(){<br />
    for(var i = 0, length = arguments.length; i &lt; length; ++i){<br />
        arguments[i].fontSize = arguments[i].lineHeight = &quot;0px&quot;;<br />
        arguments[i].textAlign = &quot;left&quot;;<br />
    };<br />
};<br />
function position(){<br />
    for(var i = 0, length = arguments.length; i &lt; length; ++i){<br />
        arguments[i].top = arguments[i].left = &quot;0px&quot;;<br />
        arguments[i].position = &quot;absolute&quot;;<br />
    };<br />
};<br />
function Liquid(config){<br />
    if(config.reverse)<br />
        $onload(config)<br />
    ; else {<br />
        var img = (config.document || (config.document = document)).createElement(&quot;img&quot;);<br />
        img.onload = function(){<br />
            img.removeAttribute(&quot;onload&quot;);<br />
            if(config.onload)<br />
                config.onload(img)<br />
            ;<br />
            onload.call(img, config);<br />
        };<br />
        img.src = config.src;<br />
        config.pause = function(){clearTimeout(config.interval)};<br />
        config.play = function(){config.interval = setTimeout(config.callee, 15)};<br />
    };<br />
    return config;<br />
};</p>
<p>window.Liquid = Liquid;</p>
<p>})(Math.round, window);</p>
]]></content:encoded>
	</item>
</channel>
</rss>

