Foros del Web » Programando para Internet » Javascript »

Ocultar capa segun parametro PHP

Estas en el tema de Ocultar capa segun parametro PHP en el foro de Javascript en Foros del Web. Hola compañeros, tengo un script php en el que cuando le paso por parametro GET por ejemplo p=1 quiero que una capa se oculte pero ...
  #1 (permalink)  
Antiguo 16/03/2011, 12:36
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Ocultar capa segun parametro PHP

Hola compañeros, tengo un script php en el que cuando le paso por parametro GET por ejemplo p=1 quiero que una capa se oculte pero no se por qué no lo logró. Este es ejemplo de como lo intento hacer:

Código HTML:
 <script type="text/javascript">
  <!--
  <?php if($_GET['p']==1) {
    echo "document.getElementById('masas').style.display='none';";
  } ?>
  //-->
  </script> 
Si recibo p=1 muestro el document.getElementById pero no me oculta la capa de esa manera, lo estoy haciendo mal? la línea js aparece en el código fuente correctamente.

Saludos!
  #2 (permalink)  
Antiguo 16/03/2011, 14:23
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 13 años, 11 meses
Puntos: 63
Respuesta: Ocultar capa segun parametro PHP

hola erxaca, resulta que estas utilzando DOM y este funciona solo cuando se carga completamente la pagina, asi que por obligación deberas asignarle el evento onload, para que controle los elementos HTML. de esta forma:

Código PHP:
<script type="text/javascript">
     window.onload = ocultar;
    function ocultar() {
      <?php if($_GET['p']==1) {
        echo 
"document.getElementById('masas').style.display='none';";
      } 
?>
    }
  </script>
Te recomiendo que investigues un poco más acerca del funcionamiento del DOM
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.
  #3 (permalink)  
Antiguo 16/03/2011, 14:33
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Ocultar capa segun parametro PHP

Y yo te recomiendo que lo hagas con CSS XD
Código CSS:
Ver original
  1. #masas {
  2.  // ...
  3.  display:<?php echo $_GET['p'] == 1 ? 'none' : 'block' ?>
  4. }
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #4 (permalink)  
Antiguo 16/03/2011, 14:42
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 13 años, 11 meses
Puntos: 63
Respuesta: Ocultar capa segun parametro PHP

me parece mejor la idea de _cronos 2
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.
  #5 (permalink)  
Antiguo 17/03/2011, 09:24
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Ocultar capa segun parametro PHP

PHP en el CSS???

laratik me podrías explicar lo de
Cita:
resulta que estas utilzando DOM y este funciona solo cuando se carga completamente la pagina
No recargo la página completamente de la forma que presenté? El php será ejecutado a la vez que el html y se mostrará completamente el html no?

Cita:
Te recomiendo que investigues un poco más acerca del funcionamiento del DOM
Si jejeje

Y gracias a ambos ;)
  #6 (permalink)  
Antiguo 17/03/2011, 09:40
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 13 años, 11 meses
Puntos: 63
Respuesta: Ocultar capa segun parametro PHP

Cita:
Una vez construido automáticamente el árbol completo de nodos DOM, ya es posible utilizar las funciones DOM para acceder de forma directa a cualquier nodo del árbol. Como acceder a un nodo del árbol es equivalente a acceder a "un trozo" de la página, una vez construido el árbol, ya es posible manipular de forma sencilla la página: acceder al valor de un elemento, establecer el valor de un elemento, mover un elemento de la página, crear y añadir nuevos elementos, etc.
Cita:
es importante recordar que el acceso a los nodos, su modificación y su eliminación solamente es posible cuando el árbol DOM ha sido construido completamente, es decir, después de que la página XHTML se cargue por completo.
Por aca a la orden
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.
  #7 (permalink)  
Antiguo 17/03/2011, 12:16
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Ocultar capa segun parametro PHP

Cita:
es importante recordar que el acceso a los nodos, su modificación y su eliminación solamente es posible cuando el árbol DOM ha sido construido completamente, es decir, después de que la página XHTML se cargue por completo.
te reitero mi pregunta:
Cita:
No recargo la página completamente de la forma que presenté? El php será ejecutado a la vez que el html y se mostrará completamente el html no?
la pagina se ha generado completamente no?
  #8 (permalink)  
Antiguo 17/03/2011, 13:05
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 13 años, 11 meses
Puntos: 63
Busqueda Respuesta: Ocultar capa segun parametro PHP

Una respuesta rápida a tu pregunta: NO, haz de cuenta que primero cargas javascript y despues cargas HTML que ha sido pre formateado con PHP, de esta manera si lo colocas como lo estabas manejando javascript no va a tener árbol DOM y por lo tanto no va a tener un div sobre el cual trabajar.

Para que la sentencia que maneja DOM se ejecute correctamente debe esperar a que cargue HTML, para eso existe el evento onLoad.

No se si fui más claro.
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.
  #9 (permalink)  
Antiguo 17/03/2011, 13:17
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Ocultar capa segun parametro PHP

Cita:
Iniciado por laratik
Cita:
Una vez construido automáticamente el árbol completo de nodos DOM, ya es posible utilizar las funciones DOM para acceder de forma directa a cualquier nodo del árbol. Como acceder a un nodo del árbol es equivalente a acceder a "un trozo" de la página, una vez construido el árbol, ya es posible manipular de forma sencilla la página: acceder al valor de un elemento, establecer el valor de un elemento, mover un elemento de la página, crear y añadir nuevos elementos, etc.
En realidad con que haya cargado el elemento al que te refieres puedes usar DOM, o al menos no me he encontrado ningún caso en el que no.

Cita:
Iniciado por erxaca Ver Mensaje
te reitero mi pregunta:
Cita:
No recargo la página completamente de la forma que presenté? El php será ejecutado a la vez que el html y se mostrará completamente el html no?
la pagina se ha generado completamente no?
Fíjate en esto:
Código PHP:
Ver original
  1. <script type="text/javascript">
  2.  window.onload = ocultar;
  3.  function ocultar() {
  4.   <?php if($_GET['p']==1){ echo "document.getElementById('masas').style.display='none';" } ?>
  5.  }
  6. </script>
  7. <!-- #masas -->
Y en esto:
Código PHP:
Ver original
  1. <script type="text/javascript">
  2.  (function() {
  3.   <?php if($_GET['p']==1){ echo "document.getElementById('masas').style.display='none';" } ?>
  4.  })();
  5. </script>
  6. <!-- #masas -->
En los dos se genera el código JS desde PHP, pero fíjate en cuál de los dos funciona y por qué.
Saludos (:
PD: Aparte del evento onload, también puedes usar el atributo defer en el tag script (no es muy estándar creo) o moverlo al final de la página, justo antes de </body> .
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #10 (permalink)  
Antiguo 17/03/2011, 13:55
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Ocultar capa segun parametro PHP

entonces me estais diciendo que el javascript se carga y ejecuta antes de que se cargue el html? por eso hay que hacer el onload no?
  #11 (permalink)  
Antiguo 17/03/2011, 15:03
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Ocultar capa segun parametro PHP

No, en realidad la página se carga línea por línea, pero si el JS está antes del código HTML se cargará/ejecutará antes.
Saludos :D
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #12 (permalink)  
Antiguo 17/03/2011, 16:17
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 13 años, 11 meses
Puntos: 63
Respuesta: Ocultar capa segun parametro PHP

Cita:
en realidad la página se carga línea por línea, pero si el JS está antes del código HTML se cargará/ejecutará antes.
exacto y lo más común es que se cargue el código javascript dentro del head, no esta muy bien visto que coloques javascript dentro del body.

Me remito a las fuentes que cite en mi mensaje anterior h t t p: / / www.librosweb.es /javascript /capitulo5 /acceso_directo_a_los_nodos.htm
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.

Última edición por laratik; 17/03/2011 a las 20:01 Razón: Agregar fuentes
  #13 (permalink)  
Antiguo 21/03/2011, 10:46
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Ocultar capa segun parametro PHP

Muchas gracias a ambos ya lo entendí correctamente.

Laratik te falto la l en tu dirección ;) y enhrabuena si tu desarrollaste los libros de librosweb.es, me los he leido casi todos ;)

Por cierto hoy me han hablado del document.ready() de jQuery y es mas eficaz que el onLoad por el motivo de que no necesita cargar las imagenes, solo el html, la única deventaja si se considerá así es que hay que utilizar jquery y no simplemente javascript.

Saludos
  #14 (permalink)  
Antiguo 21/03/2011, 11:31
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 13 años, 11 meses
Puntos: 63
Respuesta: Ocultar capa segun parametro PHP

Ya quisiera yo haberlos escrito , es un muy buen material para iniciarse en la programación web, referente a la función $(document).ready() tienes la razón en que es para JQuery, pero este framework esta basado en javascript, así que se deberia poder hacer algo parecido con javascript puro y duro, el todo es investigar como. SALUDOS.
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.

Etiquetas: php, capas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:20.