Foros del Web » Programando para Internet » Javascript »

colorear fila (de tabla), lentitud en IE...

Estas en el tema de colorear fila (de tabla), lentitud en IE... en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/11/2007, 15:44
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 11 meses
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
  #2 (permalink)  
Antiguo 16/11/2007, 15:56
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: colorear fila (de tabla), lentitud en IE...

Hola FuLaNo_

No se si servirá para que vaya un poco más rápido, pero el código que has puesto se puede simplificar un poco. Llama a la función así:

Código:
onmouseover="ar2_trpaint(1,this,\''.$_class.'\');"
Y la función:

Código:
function trpaint(action,object,oldclass) {
  objeto.className = (action==2) ? oldclass : 'selected';
}
Saludos,
  #3 (permalink)  
Antiguo 16/11/2007, 16:25
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 11 meses
Puntos: 2
Re: colorear fila (de tabla), lentitud en IE...

Hola Javi!!

Que raro, a pesar de que ENTIENDO es un codigo más simplificado, en IE me funciona igual y, ahora, en firefox va tan lento como IE....

rarisimo :s
__________________
I Love Programming...
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 23:50.