Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/11/2007, 15:44
Avatar de FuLaNo_
FuLaNo_
 
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 21 años
Puntos: 2
colorear fila (de tabla), lentitud en IE...

Hola gente, tanto tiempo!!!

Tengo un "problemon"...

Tengo una tabla de datos a la cual quiero agregarle un efecto cuando el puntero pasa por arriba de una fila, para ello hice esto, nada del otro mundo:

Código:
function trpaint(action,object,oldclass) {
	if (action == 2) { 
		document.getElementById(object).className = oldclass;
	}
	else { 
		document.getElementById(object).className = 'selected';
	}
}
La aplico de esta forma (esta mezclado con PHP, ojo...)

Código:
<tr id="Item_'.$_row[id].'" class="'.$_class.'" 
onMouseOver="ar2_trpaint(1,this.id,\''.$_class.'\');" 
onMouseOut="ar2_trpaint(2,this.id,\''.$_class.'\');">
Aplico el efecto sobre el TR directamente para no sobreescribir cien veces el mismo codigo (como pasa cuando lo hacemos en el TD), en todo caso, tambien lo he probado y el problema persiste...

El problema?, bueno, en firefox va de lujo, pero en IE (probado en 6 y 7) es lentisimo, cuando paso el puntero de una fila a otra tarda una fracción de segundo bastante grande en cambiar de color la celda donde actualmente esta el puntero...

Y, para colmo, imaginen que es una tabla con solo 600 filas, cuando lo que necesito esta cerca de las 2000 filas...

Bueno, espero que alguno de los tantos maestros que hay aquí me de una mano....

hacer se puede!!! phpmyadmin (por dar un ejemplo) con la misma cantidad de datos hace el efecto correctamente (aun en IE), pero he intentado mejorar el mio viendo su codigo pero la verdad es que usa parametros que nunca he tocado (como .cells, para trabajar con las celdas del <tr>...)...

Abrazos!

PD: lo unico que no he probado es pasar la tabla a div's, pero es algo que verdaderamente no quiero (los datos son tubulares, por ende..)
__________________
I Love Programming...

Última edición por FuLaNo_; 16/11/2007 a las 15:49