Foros del Web » Creando para Internet » HTML »

Abrir una ID oculta con display:none desde un ID con un enlace externo

Estas en el tema de Abrir una ID oculta con display:none desde un ID con un enlace externo en el foro de HTML en Foros del Web. Hola chicos, os comento, Tengo una web con muchas zonas cerradas como por ejemplo algo asi: Código: <table> <tr id="OP02" style="display:none" align="center"> <td></td> </tr> </table> ...
  #1 (permalink)  
Antiguo 13/01/2016, 05:30
 
Fecha de Ingreso: julio-2010
Mensajes: 37
Antigüedad: 14 años, 4 meses
Puntos: 1
Pregunta Abrir una ID oculta con display:none desde un ID con un enlace externo

Hola chicos, os comento,

Tengo una web con muchas zonas cerradas como por ejemplo algo asi:


Código:
<table>
      <tr id="OP02" style="display:none" align="center">
            <td></td>
      </tr>
</table>
Todas esas partes se abren con un boton que tienen cada uno con la funcion de "display:block" para esa ID.

Ahora, lo que yo quiero hacer es que si hago un enlace interno en la web en un botón, me lleve a ese y a la misma vez me lo active, por ejemplo:

Código:
<a href="#OP02">Pulsar</a>
Este boton me llevaría a la posicion de ese enlace pero no me activaria esa sección de la tabla para que se pudiese ver.

y en el caso de que funcione, me gustaria poder enlazar externamente, es decir,
que también me lleve y se abra esa sección al yo dar un enlace de la web a alguna persona poniendo el dominio completo.


Http://www.dominio.com/archivo.html#OP02

si esa es la forma correcta, como puedo hacerla funcionar, y si no lo es, podriais decirme como hacerlo?

Saludos, espero sus respuestas :)
  #2 (permalink)  
Antiguo 13/01/2016, 14:50
Avatar de carlillos  
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 245
Antigüedad: 17 años, 9 meses
Puntos: 21
Respuesta: Abrir una ID oculta con display:none desde un ID con un enlace externo

Con javascript puedes detectar el ancla de una url. Por ejemplo, en misitio.com/pagina.html#seccion1
Código Javascript:
Ver original
  1. var ancla = window.location.hash;
La variable ancla tendría el valor "#seccion1", con eso podrías cambiar el atriburo display de tu elemento "#seccion1".
Código Javascript:
Ver original
  1. if (ancla) {
  2.     document.querySelector(ancla).style.display = "block";
  3. }
  #3 (permalink)  
Antiguo 27/01/2016, 05:52
 
Fecha de Ingreso: julio-2010
Mensajes: 37
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Abrir una ID oculta con display:none desde un ID con un enlace externo

Genial, aunque me surge alguna confusión de como ejecutarlo en el Body.

Suponiendo que ésto está en javascript


Código:
if (#seccion1) {
    document.querySelector(#seccion1).style.display = "block";
}

En la sección con la ID #sección1, tengo puesto display:none

al tener ese código en javascript, ya me lo cambiaria por Display:block "SOLO si lo enlazo con: misitio.com/pagina.html#seccion1" (No se ejecuta el codigo java de otra forma, solo enlazando supongo, a ver si me desmonta todo por tenerlo xD)

Si eso es así y quiero hacerlo en 10 secciones, simplemente con poner el código Javascript duplicado ¿subiendo los numeros del ID sucesivamente funcionaría no?, es decir, que no habría conflicto entre ellos teniendo acceso a diferentes IDs, nose si me explico.

Gracias por tu respuesta, me sirve de mucho :)

Última edición por ersamupro; 27/01/2016 a las 06:07
  #4 (permalink)  
Antiguo 27/01/2016, 12:12
Avatar de carlillos  
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 245
Antigüedad: 17 años, 9 meses
Puntos: 21
Respuesta: Abrir una ID oculta con display:none desde un ID con un enlace externo

No necesitas repetir el código porque la variable "ancla" siempre va a tener el valor del ancla en la url.

misitio.com/pagina.html#seccion1 --> ancla = #seccion1
misitio.com/pagina.html#seccion2 --> ancla = #seccion2
etc.

Etiquetas: block, display, enlace, externo, oculta, oculto
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 04:46.