Foros del Web » Programando para Internet » Javascript »

filas iluminadas que enlazan

Estas en el tema de filas iluminadas que enlazan en el foro de Javascript en Foros del Web. Tengo una tabla con 5 columnas y 4 filas y quiero que cada vez que el puntero pasa por una celda se enciende toda su ...
  #1 (permalink)  
Antiguo 25/06/2004, 01:41
 
Fecha de Ingreso: julio-2003
Mensajes: 437
Antigüedad: 20 años, 9 meses
Puntos: 0
filas iluminadas que enlazan

Tengo una tabla con 5 columnas y 4 filas y quiero que cada vez que el puntero pasa por una celda se enciende toda su fila y aparezca el puntero como mano indicando que pinchando en cualquier celda de esa fila se enlaza a una direccion determinada, y que cada fila o tr se encienda de un color diferente.
Como puedo hacerlo? con javascript o css?

gracias
  #2 (permalink)  
Antiguo 25/06/2004, 02:34
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola chusete:

Prueba esto:


Código:
x = document.getElementById("tabla");
for (var i = 0; i < x.rows.length; i ++)	{
	x.rows[i].style.cursor = "pointer";
	x.rows[i].style.backgroundColor = (i % 2 == 0) ? "red" : "blue";
	x.rows[i].onmouseover = (i % 2 == 0) ? 
		function() {this.style.backgroundColor = 'yellow';}:
		function() {this.style.backgroundColor = 'lime';};
	x.rows[i].onmouseout = (i % 2 == 0) ? 
		function() {this.style.backgroundColor = 'red';}:
		function() {this.style.backgroundColor = 'blue';};
	x.rows[i].onclick = (i % 2 == 0) ? 
		function() {location.href = 'destino1';}:
		function() {location.href = 'destino2';};
}
Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 25/06/2004, 02:57
 
Fecha de Ingreso: julio-2003
Mensajes: 437
Antigüedad: 20 años, 9 meses
Puntos: 0
No me funciona

He pasado tu codigo y me da un error (se requiere un objeto) en esta linea:
for (var i = 0; i < x.rows.length; i ++)

Aparte de poner en la tabla id="tabla" hay que poner algun codigo mas alli?
  #4 (permalink)  
Antiguo 25/06/2004, 03:21
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Activa el código con un evento como onload del body y me dices...

Es posible que no se haya generado la tabla...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 25/06/2004, 03:28
 
Fecha de Ingreso: julio-2003
Mensajes: 437
Antigüedad: 20 años, 9 meses
Puntos: 0
Ahora si que me funciona, pero para ello debo eliminar esta linea: x.rows[i].style.cursor = "pointer"; me da error si la inserto.

no se transforma el puntero en mano
  #6 (permalink)  
Antiguo 25/06/2004, 06:01
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

¡Que raro!

Con este código me va bien en mozilla y explorer:

Código:
<html>
	<head>
		<title>
			Transición
		</title>
		<script type="text/javascript">
			var x;
			function inicio()	{
			x = document.getElementById("tabla");
			for (var i = 0; i < x.rows.length; i ++)	{
				x.rows[i].style.backgroundColor = (i % 2 == 0) ? "red" : "blue";
				x.rows[i].style.cursor = "pointer";
				x.rows[i].onmouseover = (i % 2 == 0) ? 
					function() {this.style.backgroundColor = 'yellow';}:
					function() {this.style.backgroundColor = 'lime';};
				x.rows[i].onmouseout = (i % 2 == 0) ? 
					function() {this.style.backgroundColor = 'red';}:
					function() {this.style.backgroundColor = 'blue';};
				x.rows[i].onclick = (i % 2 == 0) ? 
					function() {location.href = 'destino1';}:
					function() {location.href = 'destino2';};

			}
			}
		</script>
	</head>
	<body onload="inicio()">
		<table id="tabla">
			<tr>
				<td>
					dato
				</td>
				<td>
					dato
				</td>
				<td>
					dato
				</td>
			</tr>
			<tr>
				<td>
					dato
				</td>
				<td>
					dato
				</td>
				<td>
					dato
				</td>
			</tr>
			<tr>
				<td>
					dato
				</td>
				<td>
					dato
				</td>
				<td>
					dato
				</td>
			</tr>
			<tr>
				<td>
					dato
				</td>
				<td>
					dato
				</td>
				<td>
					dato
				</td>
			</tr>
			<tr>
				<td>
					dato
				</td>
				<td>
					dato
				</td>
				<td>
					dato
				</td>
			</tr>
		</table>

	</body>
</html>
Y el cursor pointer es la mano que te falta...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 25/06/2004, 06:07
 
Fecha de Ingreso: julio-2003
Mensajes: 437
Antigüedad: 20 años, 9 meses
Puntos: 0
ok, perfect. te debo una copa
  #8 (permalink)  
Antiguo 25/06/2004, 12:04
 
Fecha de Ingreso: febrero-2003
Mensajes: 62
Antigüedad: 21 años, 2 meses
Puntos: 1
esta muy bueno, ademas de iluminar la fila para cambiar el tamaño de la fuente y el color.
  #9 (permalink)  
Antiguo 26/06/2004, 03:34
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Cita:
Iniciado por adrianfm
esta muy bueno, ademas de iluminar la fila para cambiar el tamaño de la fuente y el color.
Todo lo que se quiera quitar o poner, se puede hacer definitivo sin ponerlo en los eventos (onmouseover / onmouseout) y lo que se quiera cambiar con esos eventos hay que sumarlos a las funciones asociadas.

x.rows[i].style.fontSize = "20pt";

Cambia el tamaño... (por ejemplo)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 06:45.