Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/01/2017, 15:17
kodaichi
 
Fecha de Ingreso: septiembre-2006
Mensajes: 22
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Comprobar click de multiples elementos

Cita:
Iniciado por siddartha23 Ver Mensaje
Yo lo resolvería usando Programación Orientada a Objetos, que básicamente es: generar un objeto llamado Slider, definirle sus parámetros y métodos. Luego puedes instanciar cuantos slider quieras y cada uno va funcionar independiente del otro...
Buen punto, parece que es un buen momento para aprender opp.

He estado leyendo sobre el tema, pero podrías darme un pequeño ejemplo?

Saludos.

Alexis88, gracias por la respuesta pero creo que no me explique bien, yo ya tengo un slider, lo puedes ver [URL="http://codepen.io/GhostOrder/pen/xgZOao"]aquí[/URL], y creo que tu código también hace lo mismo. Mi problema es que necesito agregar más sliders en en una misma página, las imágenes de cada slider tienen una ruta distinta.

Lo que quiero hacer es algo como esto:

Código HTML:
Ver original
  1. <section id="productos">
  2.   <div class="slider">
  3.     <img src="img/slider-productos_img1.png"/>
  4.       <ul class="carousel-index">
  5.         <li></li>
  6.         <li></li>
  7.         <li></li>                      
  8.       </ul>
  9.     </div>
  10.  
  11. <section id="servicios">
  12.   <div class="slider">
  13.     <img src="img/slider-servicios_img1.png"/>
  14.       <ul class="carousel-index">
  15.         <li></li>
  16.         <li></li>
  17.         <li></li>                      
  18.       </ul>
  19.     </div>
  20.  
  21. <section id="otra-seccion">
  22.   <div class="slider">
  23.     <img src="img/otra-seccion_img1.png"/>
  24.       <ul class="carousel-index">
  25.         <li></li>
  26.         <li></li>
  27.         <li></li>                      
  28.       </ul>
  29.     </div>

Actualmente tengo un código funcional(el que esta en el codepen) pero es aplicable a un solo slider:

Código Javascript:
Ver original
  1. var listItemContainer = document.getElementById('carousel-index');
  2. var imageChanger = document.getElementById('image-container').getElementsByTagName('img');
  3. var bulletNumber;
  4.  
  5. for (i = 0; i < listItemContainer.children.length; i++) {
  6.   (function(index) {
  7.     listItemContainer.children[i].onclick = function() {
  8.       bulletNumber = index;
  9.       imageChanger[0].className = "fade-out";      
  10.       setTimeout(function(){
  11.         imageChanger[0].setAttribute('src', 'https://civilian-interviewe.000webhostapp.com/img/mini_slider_' + (bulletNumber + 1) + '.png');
  12.       }, 201);      
  13.       setTimeout(function(){
  14.         imageChanger[0].className = "fade-in";
  15.       }, 401);      
  16.     }
  17.   })(i);
  18. };

Como ves, si quisiese replicar esta función a cuantos slider crease en mi html, lo único que cambiaría sería la ruta de la imagen, y siendo ese el caso, pienso que mediante un condicional se podría comprobar en que bullet de que slider se hizo click y luego cambiar la ruta de la imagen.

Por ejemplo:

- Si se hizo click en el bullet 3 del slider 'productos', entonces cambiar la ruta de imagen usando el nombre 'slider-productos', de manera que la ruta completa sería 'slider-productos_img3.png'.
- Pero si se hizo click en el bullet 2 del slider 'servicios', entonces cambiar la ruta de la imagen usando el nombre 'slider-servicios', de manera que la ruta completa sería 'slider-servicios_img2.png'.

Saludos.