El efecto "Slide" en mootools viene preparado por defecto para ocultar el contenido de un elemento.
Esto quiere decir, que al empezar la carga de la página, el elemento está visible y el efecto se encarga de ocultarlo.
¿Que pasa cuando queremos exactamente lo contrario?
Por ejemplo, empezar con un div oculto y poner un link para mostrar el contenido.
La solución:
if ($('buscar').style.display=='none') {
fx.hide();
$('buscar').style.display = 'block';
}
fx.toggle();
Explicación para novatos:
Establecemos la propiedad "display" a none, ocultando el div.
Cuando carga la pagina y asignamos el efecto, lo ocultamos formalmente con "hide()" y ponemos el display a "block" para hacerlo visible (pero mootools ya se ha encargado de ocultarlo via javascript).
Así, una vez "formalmente invisible", mootools ejecutará "toggle()" y lo mostrará bien.




Gracias me ha ayudado a no romperme la cabeza un rato! =)