Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/09/2011, 07:16
Avatar de Naahuel
Naahuel
 
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Boton cerrar en banner flotante

Te explico lo que está sucediendo.

Primero, tu elemento no tiene explícito el estilo display:block. De forma que esto:
Código Javascript:
Ver original
  1. var state = document.getElementById(fixme).style.display;

No devolverá block la primera vez. La segunda si, porque en tu condición se lo asignás en caso de no tenerlo!
Código Javascript:
Ver original
  1. if (state == 'block') {
  2.   document.getElementById(fixme).style.display = 'none';
  3. } else {
  4.   document.getElementById(fixme).style.display = 'block';
  5. }

¿Se entiende?

Podés solucionar eso poniendo el display:block explícito en e tu elemento:
Código HTML:
Ver original
  1. <div style="height: 120px; width: 100%; display:block;" id="fixme">....</div>

Respecto a lo segundo (Que la página se va para arriba) es más que normal. Es porque estás usando un anchor (<a>) y se está comportando como debe. Para solucionarlo, asegurate de hacer return false; si no querés que haga su acción por defecto. Así:
Código HTML:
Ver original
  1. <a href="#" onclick="hide('fixme'); return false;">..</a>

Espero esté claro. Un saludo.
__________________
nahueljose.com.ar