Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] recorrer con js una galeria css

Estas en el tema de recorrer con js una galeria css en el foro de Javascript en Foros del Web. Hola! estoy haciendo una galería de imágenes online, puede verse en http://iki.es/betasite/ (Aqui os copio una version "reducida" del <body>) @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver ...
  #1 (permalink)  
Antiguo 29/04/2013, 05:54
IkiVelasco
Invitado
 
Mensajes: n/a
Puntos:
Pregunta recorrer con js una galeria css

Hola!
estoy haciendo una galería de imágenes online, puede verse en http://iki.es/betasite/
(Aqui os copio una version "reducida" del <body>)
Código HTML:
Ver original
  1. <body onLoad="clickMenu('galeria1')">
  2. <a class="logo" href="contacto.html" title="galerioaonline">
  3.   <img src="ikilogo.png">
  4. </a>
  5. <nav><ul>
  6.       <li><a class="activo">Infografia</a>
  7.       <li><a>Ilustracion</a></li>
  8.       <li><a>Otros</a></li>
  9.       <li><a>Contacto</a></li>
  10.       <li><a>Enlaces</a></li>
  11.     </ul></nav>
  12.     <div class="infobar">
  13.     </div>
  14.     <div id="galeria1">
  15.     <ul>
  16.       <li><i><img src="01.jpg"/><span class="descripcion">texto1</span></i></li>
  17.       <li><i><img src="02.jpg"/><span class="descripcion">texto2</span></i></li>
  18.          ...
  19.       <li>...</li
  20.     </div>
  21.      <div id="panel">
  22.        <div id="wrapper">
  23.         <a id="prev" onClick="retroceder('galeria1')"></a>
  24.         <a id="next" onClick="avanzar('galeria1')"></a>
  25.        </div>
  26.      </div>
  27. </body>


El sistema es muy sencillo, todas las imágenes están en una <li> a la que puedo asignar 3 clases "Off", "ampliar" o "".
Cuando la clase está vacía, se muestra las <li> como una galería.
Si se hace "click" sobre cualquier imagen, esta recibe la clase "ampliar" y se muestra a toda pantalla, mientras que las demas <li> reciben la clase "off" y desaparecen.

Todo ello funciona correctamente usando este mínimo JS que modifiqué:

Código Javascript:
Ver original
  1. clickMenu = function(menu) {
  2.   var getEls = document.getElementById(menu).getElementsByTagName("LI");
  3.   var getAgn = getEls;
  4.  
  5.   for (var i=0; i<getEls.length; i++) {
  6.           getEls[i].onclick=function() {
  7.                 if (this.className=='') {
  8.                     for (var x=0; x<getAgn.length; x++) {
  9.                           getAgn[x].className='off'}
  10.                     this.className='ampliar'
  11.                     ;return}
  12.                 else{for (var x=0; x<getAgn.length; x++) {
  13.                           getAgn[x].className='';}}
  14.              
  15.               }
  16.           }
  17.       }

El asunto es que quiero hacer unos botones "anterior/siguiente" para navegar por las imágenes ampliadas, pero estoy empezando con el javascript y necesito algo de ayuda.

Lo que he hecho es coger el codigo anterior y modificarlo segun mis entendederas:

Código Javascript:
Ver original
  1. avanzar = function(menu) {
  2.   var getEls = document.getElementById(menu).getElementsByTagName("LI");
  3.  
  4.   for (var i=0; i<getEls.length; i++) {
  5.                 if (this.className=='ampliar') {this.className='off'
  6.                   if (i==getEls.length){getEls[1].className='ampliar'}
  7.                     else{ getEls[i+1].className='ampliar'}}
  8.           }
  9.       }
  10.  
  11.  
  12. retroceder = function(menu) {
  13.   var getEls = document.getElementById(menu).getElementsByTagName("LI");
  14.   var total = getEls.length;
  15.  
  16.   for (var i=0; i<getEls.length; i++) {
  17.                 if (this.className=='ampliar') {this.className='off'
  18.                   if (i==1){getEls[total].className='ampliar'}
  19.                     else{ getEls[i-1].className='ampliar'}}
  20.           }
  21.       }

Pero claro, no funciona. Me preguntaba si alguien me podría orientar acerca de lo que estoy haciendo mal. La solución también me sirve, naturalmente, pero me conformaría con una indicación de lo que está mal, para seguir aprendiendo mientras lo resuelvo.
  #2 (permalink)  
Antiguo 01/05/2013, 06:04
IkiVelasco
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: recorrer con js una galeria css

Gracias a todos!

Etiquetas: css, funcion, galeria, html, js
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 18:14.