Código Javascript:
Ver original
function clic(width,height,top,left,border,borderRadius,zIndex){ this.width=width; this.height=height; this.top=top; this.left=left; this.border=border; this.borderRadius=borderRadius; this.zIndex=zIndex; return this; } function nclick(elements){ for(x in elements){ eval('this.e'+x+'='+elements[x]); } } function change_more(obj,datos){ var pr=new Array('width','height','top','left','border','borderRadius'); for(x in pr){ eval("obj.animate({"+pr[x]+": datos."+pr[x]+"},{duration:1000,queue:false},obj.css('zIndex',datos.zIndex))"); } } var clicks=new Array(); var t; for(n=0;n<6;n++){ var t=eval("$('#im"+n+"')"); clicks[clicks.length]=new clic(t.css('width'),t.css('height'),t.css('top'),t.css('left'),t.css('border'),t.css('borderRadius'),t.css('zIndex')); } t=null; var onclick=new Array( new nclick([0,1,2,3,4]), new nclick([3,0,1,4,2]), new nclick([4,3,0,2,1]), new nclick([1,2,4,0,3]), new nclick([2,4,3,1,0]) ); function m_i(c){ for(i in clicks){ eval("change_more($('#im'+i),clicks[onclick[c].e"+i+"])"); } }
Tengo una galeria de imágenes y el código hace que cada vez que se da click sobre una imagen esta y las demás se muevan a posiciones determinadas.
El problema es que la pagina se queda quita por un instante y no se ve el efecto. Esto no pasa cuando le doy 1 vez y a la segunda rápida pues esta bien pero si espero mas de nuevo se queda quita.
Creo que es por la cantidad de variables y los objetos. Me podéis ayudar a disminuir el código?