Foros del Web » Programando para Internet » Jquery »

Funcion click con jquery solo funciona una vez

Estas en el tema de Funcion click con jquery solo funciona una vez en el foro de Jquery en Foros del Web. hola a todos, por favor necesito ayuda con un pequeño proyecto q estoy haciendo, la verdad recien me estoy iniciando en esto del jquery y ...
  #1 (permalink)  
Antiguo 28/05/2012, 14:44
 
Fecha de Ingreso: mayo-2012
Mensajes: 1
Antigüedad: 12 años, 6 meses
Puntos: 0
Funcion click con jquery solo funciona una vez

hola a todos, por favor necesito ayuda con un pequeño proyecto q estoy haciendo, la verdad recien me estoy iniciando en esto del jquery y tengo un problema que no puedo resolver este es mi codigo

esta es la pagina index
Código HTML:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<script>
// aqui empieza el scrip de smilenice
$(document).ready(function()
{
 
  $("span.on_img").mouseover(function ()
  {
    $(this).addClass("over_img");
	  });

  $("span.on_img").mouseout(function ()
  {
    $(this).removeClass("over_img");
  });
  
});

$(function prueba() {
$(".box").click(function() 
{
var id = $(".love").attr("id");
var name = $(".love").attr("name");
var dataString = 'id='+ id + '&name=' + name ;
var parent = $(this);


$(this).fadeOut(300);
$.ajax({
type: "POST",
url: "ajax_love.php",
data: dataString,
cache: false,

success: function(html)
{
parent.html(html);
parent.fadeIn(300);
} 

});

return false;

 });
 
});



$sql=mysql_query("select * from images WHERE iduser NOT IN(select img_id_fk from image_IP WHERE ip_add=$u_id_sn) LIMIT 1");

while($row=mysql_fetch_array($sql))
{

$img_id=$row['iduser'];
$img_name=$row['img_name'];
$img_url=$row['iduser'];
$love=$row['love'];
?>


<div>

<div class="box" align="left" style="margin-bottom:30px">
<a href="#" class="love" name="<?php echo $user_idsn; ?>" id="<?php echo $img_id; ?>">
<span class="on_img" align="left"> <?php echo $love; ?> </span> 
</a>
<img  class="url-imagen" height-max="250"src='<?php echo "https://graph.facebook.com/".$img_url."/picture?type=large"; ?>' />
</div>

</div>

<?php

}
?>

</div> 
y esta es es la pagina ajax-love.php

Código HTML:
<?php
include("config.php");

if(isset($_POST['name']))
{
$ip=$_POST['name']; 
}
if($_POST['id'])
{
$id=$_POST['id'];

$ip_sql=mysql_query("select ip_add from image_IP where img_id_fk='$id' and ip_add='$ip'");
$count=mysql_num_rows($ip_sql);

if($count==0)
{
$sql = "update images set love=love+1 where iduser='$id'";
mysql_query( $sql);
$sql_in = "insert into image_IP (ip_add,img_id_fk) values ('$ip','$id')";
mysql_query( $sql_in);
/*
$result=mysql_query("select love from images where iduser='$id'");
$row=mysql_fetch_array($result);
$love=$row['love'];
*/
$sql2=mysql_query("select * from images WHERE iduser NOT IN(select img_id_fk from image_IP WHERE ip_add=$ip) LIMIT 1");

$row=mysql_fetch_array($sql2);

$img_id=$row['iduser'];
$img_name=$row['img_name'];
$img_url=$row['iduser'];
$love=$row['love'];


?>

<a href="#" class="love" name="<?php echo $user_idsn; ?>" id="<?php echo $img_id; ?>">
<span class="on_img" align="left"> <?php echo $love; ?> </span> 
</a>
<img  class="url-imagen" height-max="250"src='<?php echo "https://graph.facebook.com/".$img_url."/picture?type=large"; ?>' />
<?
}
else
{
echo 'NO !';
}



}

?>

por favor obviar si me comi alguna etiqueta php , y ese no es el problema ademas es mi primer post y no sabia como colocar este codigo asi q todo lo puse en html, pero estoy seguro q ustedes entienden.

el problema es el siguiente, ese codigo lo cpie inicialmente de un pequeño sistema de votacion de imagenes que al hacer clic en el enlace aumentaba la votacion y esta aparecia automaticamente sobre la foto, ahora yo he hecho alguna midificaciones y lo que intento hacer es que al dar click en el enlace este cambie a la imagen siguiente y porasupuesto que se sigan manteneiendo las votaciones en una base de datos que tengo.
al principio todo esta bien , me meustra uan imagen con sus votaciones anteriores y luego al dar click en el enlance la imagen cambia por la sguiente y la votacion se actualiza en la base de datos, el problema viene aqui, el enlace ya no parece funcionar para la siguiente imagen, simplemente no se como hacerlo, pero si le doy actualizar a la pagina todo continua con normalidad, he probado recargar la pagina automaticamente con jquery pero es engorroso recargar toda la pagina de esa forma, por favor habra otra forma de hacerlo sin recargar toda la pagina???
  #2 (permalink)  
Antiguo 28/05/2012, 17:20
 
Fecha de Ingreso: febrero-2010
Mensajes: 49
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Funcion click con jquery solo funciona una vez

Es la funcion click(), al actualizar el contenido, la funcion ready ya no se ejecuta, por tanto el contenido uevo no está contemplado en el DOM. para qe te funcione en todo el contenido siempre, puedes usar la funcion live.('click', function(){}), algunas personas no recomiendan esto puesto que al ejecutarse la funcion busca en todos los nodos del documento. Hay otras funciones más amables, pro en lo personal, me gusta usar esta.

Por cierto, me gustaria ver tu web si no tienes inconvnientes.
envias la direccion por MP? :)
  #3 (permalink)  
Antiguo 01/06/2012, 03:23
 
Fecha de Ingreso: mayo-2010
Mensajes: 65
Antigüedad: 14 años, 7 meses
Puntos: 5
Respuesta: Funcion click con jquery solo funciona una vez

crea una función con el evento click y ves llamandola cuando la necesites.

Saludos
__________________
perfumes de imitacion

Etiquetas: Ninguno
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 17:20.