Foros del Web » Programando para Internet » Javascript »

Solo reconoce el de la ultima iteracion

Estas en el tema de Solo reconoce el de la ultima iteracion en el foro de Javascript en Foros del Web. Buenos dias amigos, tengo un codigo para la creacion de eventos al pasar el raton por encima de unas imagenes y no consigo establecer a ...
  #1 (permalink)  
Antiguo 11/02/2012, 10:36
 
Fecha de Ingreso: enero-2010
Mensajes: 97
Antigüedad: 14 años, 2 meses
Puntos: 3
Exclamación Solo reconoce el de la ultima iteracion

Buenos dias amigos, tengo un codigo para la creacion de eventos al pasar el raton por encima de unas imagenes y no consigo establecer a un div llamado tooltipLayer las coordenadas de la imagen sobre la cual el raton esta encima, siempre aparecen calculando las de la imagen 10, que es la ultima en crearse, sin embargo el contenido html que le asigno si es correcto, es por ello que no entiendo porque por una parte si funciona que el div tenga distintos contenidos pero solo las coordenadas del ultimo. este es mi codigo:

--------------------------

function buildItems()
{
var elements = new Array();
for(cont = 1; cont <= 10; cont ++)
{
//create the imagen in the layer
var layer = '#itemLayer' + cont;
var nameItem = 'heroItem' + cont;
$(layer).html(heroInventory[cont].getImage(nameItem));
//create thelements for the evnets
//nameItem = '#' + nameItem

elements[cont] = heroInventory[cont].getTooltip();
}

jQuery.each(elements,function(i,itemInfo)
{
nameItem = '#heroItem' + i;
$(nameItem).mouseover(function()
{

//get the x,y coordinates
//--x--
var x = $(nameItem).offset().left;
if(x >= 340)
{
x -= 210; //coordenada X si sale a la izquierda
}else{
x += 80; //Get X coodrinates
}
//--y--
var y = $(nameItem).offset().top;
//set de coordinates on tooltipLayer
$("#tooltipLayer").css( "left",x );
$("#tooltipLayer").css( "top",y );

//set the tooltip in information
//...
$("#tooltipCenter").html(itemInfo);


//show the tooltipLayer
$("#tooltipLayer").show();
});
//+++++**mouseout**++++++
$(nameItem).mouseout(function()
{
$("#tooltipLayer").hide();
$("#tooltipCenter").html('<tr><td class="WhiteBold12" align="center">Cargando...</td></tr>');
});
});
}

----------------
a ver si alguien puede hecharme una mano, gracias.
  #2 (permalink)  
Antiguo 11/02/2012, 11:27
 
Fecha de Ingreso: enero-2010
Mensajes: 97
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: Solo reconoce el de la ultima iteracion

vale, error localizado, estaba en nameItem = '#heroItem' + i; que la declaro como global en vez de local, por eso la ultima es la unica valida. gracias de todos modos, espero ayudar a otro en un futuro.

Etiquetas: funcion, html, iteracion, reconoce, ultimo
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 02:16.