Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Ayuda Javascript para ocultar y mostar DIV

sauron.lex

Bovino maduro
Desde
21 Mar 2009
Mensajes
273
Miren estoy haciendo una pagina con PHP y mysql el problema es que cuando quiero imprimir una lista del contenido de la base de datos es que es muy larga lo que se me ocurrio es agrupar cierto numero de registros por ej. de 5 en 5 e imprimir todo en html pero mantenerlo oculto, y pues he querido poner en la parte de abajo los numeros de paginas que al presionar dicho numero aparesca el contenido del DIV correspondiente y que se oculte el resto y asi sucesivamente, ya tengo agrupados los div con sus nombres los he enumerado de 0 en adelante, quiero hecerlo tipo post de los blog.

He intentado hacerlo pero el codigo varia dependiendo del numero de DIV y puedo hacer visible el div seleccionado pero como oculto los demas si en dado caso esta visible un div anteriormente seleccionado.
 
Busca un framework para javascript, llamado jquery http://jquery.com/ luego, te checas bien el manual que esta en la pagina, a cada uno de los grupos le pones una clase de manera general, con un selector le dices que a toda esa clase general la vas a ocultar, luego de manera especifica le dices que a ese que le dio click lo vas a mostrar, y listo, cuando le des clic al grupo, se ocultara todo, y se mostrara ese en especifico, como va por partes el jquery al intentar ocultar el especifico y este este oculto, lo saltara y no hara nada, y luego lo mostrara normalmente.
 
No tu logica esta mal. No estas resolviendo el problema solo lo estas agrabando.

Usa una paginacion real. No te traigas todo el monton de golpe. imaginate si llegaran a ser 1000 registros todo lo que se tardaria en cargar la pagina.

En Mysql usa la sentencia LIMIT con la que puedes decirle cuantos registros devolverte y apartir de que numero

Puedes usar ajax para no refrescar toda la pagina.

Hay manuales sobre eso, te recomiendo busques alguno.
 
// Id = div que quieres mostrar
// arraydiv = arreglo que contenga todos los Id's de los divs
function mostrar(id, arraydiv){
for(var i = 0; i<arraydiv.length; i++){
var element = arraydiv;
if(element['id'] = id){
element['style'].visible = "show"; //No recuerdo si es show :D
}else{
element['style'].visible = "hidden";
}
}
}
 
Amigo esto lo podes poner en el cuerpo de tu html(<body>...</body>) y lo editas como queras en principio lo que hace es ocultar o mostrar una tabla que esta contenida dentro de un div lo importante aqui es colocar el nombre o mas bien dicho el id del div al cual vas a hacer referncia el evento onclick del javascript se lo podes poner a cualquier cosa una imagen, un texto lo que sea en mi caso se lo puse a dos imagenes una para arriba y otra para abajo para que te den la impresion de mostra u ocultar el contenido, el div por defecto esta oculto.


Código:
.
.
.
<BODY>
<img src="images/Down.gif" onclick="javascript:document.getElementById('infoGeneral').style.display='block';" />&nbsp;
    <img src="images/Up.gif" onclick="javascript:document.getElementById('infoGeneral').style.display='none';" />
<br><br>

<div id="infoGeneral" style="display:none">
<table width="90%" border="0" cellpadding="0" cellspacing="2">
  <tr >
    <td bgcolor="#FFEEBF" >Usuarios/Solicitante</td>
    <td bgcolor="#FFEEBF" >AQUI APARECE EL NOMBRE DEL USUARIO</td>
  </tr>
  <tr >
    <td bgcolor="#FFEEBF">Seccion/Unidad</td>
    <td bgcolor="#FFEEBF">AQUI EL NOMBRE DE LA UNIDAD O SECCION</td>
  </tr>
  <tr valign="bottom" height="25">
    <td bgcolor="#FFEEBF">Descripcion de la Solicitud </td>
    <td bgcolor="#FFEEBF"><textarea name="txtDescripcion" id="txtDescripcion" cols="55" class="cajaTextoNegrita"  readonly="readonly">AQUI UN MONTON DE COSAS</textarea></td>
  </tr>
</table>
<BR>
COLO AQUI TODO TIPO DE INFORMACION HTML ADICIONAL
<BR>
</div>
<BODY>
.
.
.
 
Volver
Arriba