Foros del Web » Programando para Internet » Javascript »

¿Alguien sabe por qué no funciona?

Estas en el tema de ¿Alguien sabe por qué no funciona? en el foro de Javascript en Foros del Web. Hola, Con la ayuda de varias personas he montado una función para cambiar el fondo de dos casillas de una tabla, pero funciona solo a ...
  #1 (permalink)  
Antiguo 29/04/2008, 13:46
 
Fecha de Ingreso: mayo-2006
Mensajes: 48
Antigüedad: 17 años, 11 meses
Puntos: 0
¿Alguien sabe por qué no funciona?

Hola,

Con la ayuda de varias personas he montado una función para cambiar el fondo de dos casillas de una tabla, pero funciona solo a medias. Cuando me posiciono sobre la celda con id=2 funciona todo bien, pero sobre la celda con id=1, solo me cambia el fondo de esa casilla y deja sin resultados la casilla con id=2.


Código:
function hover_activo(id,id2) {
document.getElementById(id).className='activo';
document.getElementById(id2).className='activo';
}

function hover_inactivo(id,id2) {
document.getElementById(id).className='row';
document.getElementById(id2).className='row';
}

<td id="1" class="row" onmouseover="hover_activo(this.id,this.id+1);" onmouseout="hover_inactivo(this.id,this.id+1);"><i mg src="img/8.gif"></td>

<td id="2" class="row" onmouseover="hover_activo(this.id,this.id-1);" onmouseout="hover_inactivo(this.id,this.id-1);"><p class="p1">The life in the steets</p> <p class="p2">22h-23h</p></td>
  #2 (permalink)  
Antiguo 29/04/2008, 13:59
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: ¿Alguien sabe por qué no funciona?

Hola Dani392

El id es una cadena, por eso cuando sumas 1, el resultado es 11

Prueba poniendo así la celda:

Código:
<td id="1" class="row" onmouseover="hover_activo(this,'2');"
y la función:

Código:
function hover_activo(obj,id2) {
obj.className='activo';
document.getElementById(id2).className='activo';
}
Saludos,
  #3 (permalink)  
Antiguo 29/04/2008, 14:05
 
Fecha de Ingreso: mayo-2006
Mensajes: 48
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: ¿Alguien sabe por qué no funciona?

Entonces cuando quiera aplicar la función a varias celdas, ¿no hay ninguna manera de coger el id de esa celda y restarle 1? ¿Siempre tendré que poner el número de la celda que corresponde al restarle 1? Por ejemplo con alguna función que cambie la cadena a numeral.

Un saludo y gracias por la ayuda.
  #4 (permalink)  
Antiguo 29/04/2008, 14:15
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: ¿Alguien sabe por qué no funciona?

Hola de nuevo.

En ese caso puedes usar la función parseInt

onmouseover="hover_activo(this,parseInt(this.id)+1 );"

No lo he probado, pero debería funcionar.

Saludos,
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 18:15.