Tengo un problema con jquery que no entiendo muy bien a que se debe. Intentaré explicarlo lo mejor que pueda.
Cuando le doy al <li class="openDesc"> hace todo lo que sale a continuación.....
Código:
La parte que esta en rojo lo que hace es que según el número de imágenes que haya me ponga mas "bullets" o menos dentro del siguiente div:var pos; var cont = 0; $j(".openDesc").click(function () { pos = 0; var div = $j(this).next().html();//Obtenemos los datos HTML del siguiente elemento seleccionado $j("#textDesc").html(div);//Cargamos en contenido en el "desc" Cufon.replace('p'); $j(".desc").slideDown("slow");//Abrimos el div de openDesc $j(".back").css("visibility", "visible");//En el momento que clicamos sobre uno de los proyectos las clases pasan a ser "visible" $j(".forward").css("visibility", "visible"); $j(".backDIV").css("visibility", "visible"); $j(".forwardDIV").css("visibility", "visible"); /*$j(".bullets").css("visibility", "visible");*/ id = $j(this).attr('id');//Obtenemos la id del elemento seleccionado $j.ajax({ type: "POST", url: "./index?a=data", data: "id="+id,//concatenamos la id dataType: "json", success: function(data) { d = new Array(); //cont = 0; for(name in data){ d.push({ key: name, value: data[name] }); //cont++; } if(Object.keys(d).length > 0){ //console.log(d[0]["value"]); console.log(cont); $j("#jq_ez_bg img").fadeOut('slow', function() { $j("#jq_ez_bg img").attr('src','img/galleryprojects/'+d[0]["value"]);//mostramos la primera imagen del proyecto seleccionado }); $j("#jq_ez_bg img").fadeIn('slow'); } $j(".bulletsDIV").html('<img class="bullets" id="0" src="./img/bullets.png" />'); for(i = 1; i < Object.keys(d).length; i++) { $j(".bulletsDIV").append('<img class="bullets" id="'+i+'" src="./img/bullets2.png" />'); } } }); });
Código:
Hasta aquí todo bien.<?php echo '<div class="bulletsDIV"></div>'; ?>
Ahora lo que quiero hacer es poder ir cambiando las imágenes desde los "bullets" que he generado previamente.
Mediante la siguiente función, si consiguiese entrar, debería ir cambiando pero el problema es que no sabe quien es "bullets" por lo que nunca entra a la función.
Código:
Mirando con el firebug me genera todo bien, es decir si hay class="bullets":$j(".bullets").click(function () { $j(".bullets").attr('src','./img/bullets2.png'); $j(this).attr('src','./img/bullets.png'); $j("#jq_ez_bg img").attr('src','img/galleryprojects/'+d[this.attr(id)]["value"]); });
Código:
Pero no hay manera de hacer click sobre la class="bullets". No la reconoce pero según el firebug si existe.......<div class="bulletsDIV"> <img id="0" class="bullets" src="./img/bullets.png"> <img id="1" class="bullets" src="./img/bullets2.png"> <img id="2" class="bullets" src="./img/bullets2.png"> <img id="3" class="bullets" src="./img/bullets2.png"> </div>
Si las imágenes las incrusto manualmente dentro de,
Código:
si puedo hacer click sobre class="bullets" pero al generarlas así no hay manera<?php echo '<div class="bulletsDIV"></div>'; ?>
Ideas?
Gracias.