Foros del Web » Programando para Internet » Jquery »

Quiero aprender como cambiar dinamicamente un elemento. Ej: Galería de productos.

Estas en el tema de Quiero aprender como cambiar dinamicamente un elemento. Ej: Galería de productos. en el foro de Jquery en Foros del Web. Hola! De 1ras aclaro que no se programar, solo manejo muchas cosas de css y html, pero aunque tengo algo claros cuales son los principios ...
  #1 (permalink)  
Antiguo 06/05/2016, 19:10
Avatar de g3kdigital  
Fecha de Ingreso: noviembre-2013
Ubicación: En mi apartamento en bogotá
Mensajes: 208
Antigüedad: 10 años, 5 meses
Puntos: 39
Quiero aprender como cambiar dinamicamente un elemento. Ej: Galería de productos.

Hola!

De 1ras aclaro que no se programar, solo manejo muchas cosas de css y html, pero aunque tengo algo claros cuales son los principios de la programación, en la práctica soy un cojo.

Este es un demo que propuse hacer:

http://codepen.io/g3kdigital/pen/jqXdBM?editors=1100

Se trata de una galería de productos dividida en pestañas, diseñe la interfaz con el fin de poder explorar cada uno de los productos y poder ver más imágenes y descripción de este, sin tener que hacer scroll.

Quise hacerlo usando el metodo de checked en css.

Si un input esta checkeado entonces el compañero más cercano reaccionara, ejemplo:
Código CSS:
Ver original
  1. .activboard:checked ~ .menu-products .trigger.activboard
  2. {  background-image: url('http://www.eduholdingcolombia.com/images/icono-promethean-01-activwall.png'); }

Que es lo mismo que decir, que si se checkea el input, entonces la pestaña de productos, activeboard, cambia de imagen de fondo.

El problema es que no es dinamico, y por cada una de las pestañas o inputs, me toca crear este selector:

Código CSS:
Ver original
  1. .activboard:checked ~ .box .img01:checked ~ .previews .foto
  2. {
  3.   background-image: url('http://www.eduholdingcolombia.com/images/activeboard-foto-movil.png');
  4. }
  5.  
  6. .activboard:checked ~ .box .img02:checked ~ .previews .foto
  7. {
  8.   background-image: url('http://www.eduholdingcolombia.com/images/activboard-frente-movil.png');  
  9. }
  10.  
  11.  
  12. .activboard:checked ~ .box .img03:checked ~ .previews .foto
  13. {
  14.   background-image: url('http://www.eduholdingcolombia.com/images/activboard-lado-movil.png');  
  15. }

Por lo que sé que en Jquery, se puede lograr lo mismo, sin menos compliques y dañando la estructura html con unas etiquetas que sobran, ejemplo:
Código Javascript:
Ver original
  1. trigger01.click(function(event) {
  2.     target01a.addClass("cambio-color1");
  3.     target02b.addClass("cambio-color2");
  4.     target03c.addClass("cambio-color3");
  5.   });  
  6.  
  7. trigger02.click(function(event) {
  8.     target01a.addClass("cambio-color1");
  9.     target02b.addClass("cambio-color2");
  10.     target03c.addClass("cambio-color3");
  11.   });

Pero, creo que se puede mejorar aún más, sobre todo porque creo que debo usar un condicional

Pero no se como... me podrían ayudar?
__________________
Puedes ser el tipo de persona que se amarga por lo inevitable o aceptar el reto de superarse siempre e ir a la par con el progreso.

WEB: G3K.co | codepen.io/g3kdigital

Etiquetas: dinamicamente, elemento, quiero
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 23:32.