Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/11/2011, 10:08
aereoh
 
Fecha de Ingreso: noviembre-2011
Ubicación: Barcelona
Mensajes: 5
Antigüedad: 12 años, 4 meses
Puntos: 0
Problemas .click

Hola buenas tardes.
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:
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" />');
			}
		}
	});
});
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:

Código:
<?php
echo '<div class="bulletsDIV"></div>';
?>
Hasta aquí todo bien.
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:
$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"]);
});
Mirando con el firebug me genera todo bien, es decir si hay class="bullets":

Código:
<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>
Pero no hay manera de hacer click sobre la class="bullets". No la reconoce pero según el firebug si existe.......

Si las imágenes las incrusto manualmente dentro de,
Código:
<?php
echo '<div class="bulletsDIV"></div>';
?>
si puedo hacer click sobre class="bullets" pero al generarlas así no hay manera

Ideas?

Gracias.