Foros del Web » Programando para Internet » Javascript »

Cambiar el nombre de un link al posicionarse encima de él

Estas en el tema de Cambiar el nombre de un link al posicionarse encima de él en el foro de Javascript en Foros del Web. Hola. Quisiera saber si con javascript se puede cambiar el nombre de un link al posicionarse encima del mismo. Por ejemplo, si tengo el siguiente ...
  #1 (permalink)  
Antiguo 01/12/2009, 11:36
 
Fecha de Ingreso: julio-2009
Mensajes: 64
Antigüedad: 14 años, 9 meses
Puntos: 0
Mensaje Cambiar el nombre de un link al posicionarse encima de él

Hola.

Quisiera saber si con javascript se puede cambiar el nombre de un link al posicionarse encima del mismo.

Por ejemplo, si tengo el siguiente enlace cuyo nombre tiene por ejemplo la fecha Enero 2012:

$mes=date('n');
$anyo=date('Y');

<a href='calendario.php?mes=$mes&anyo=$anyo'> Enero 2012 </a>

Yo quiero que al posicionarme encima del link no salga Enero 2012, sino que cambie el texto y salga, Hoy, para ir al mes actual del año actual.

No se si se podrá hacer con la propiedad Onmouseover.

Muchas Gracias de antemano.
  #2 (permalink)  
Antiguo 01/12/2009, 11:50
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Cambiar el nombre de un link al posicionarse encima de él

Primero, si dices "nombre" resulta confuso... después de todo, name es un atributo presente en casi todos los elementos HTML. Puedes usar los eventos onmouseover y onmouseout (si luego, al sacar el mouse de encima quieres volver a poner el texto original en el enlace... en cuyo caso tendrás que pensar como "guardas" ese texto). Lo que debes cambiar es el textNode del link. O más sencillo, cambia la propiedad innerHTML del link. ¡Suerte!
  #3 (permalink)  
Antiguo 01/12/2009, 12:16
 
Fecha de Ingreso: julio-2009
Mensajes: 64
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Cambiar el nombre de un link al posicionarse encima de él

Lo he probado con innerHTML y me cambia cuando me posiciono encima, pero cuando saco el mouse no cambia.

<a href='calendario.php?mes=$mes&anyo=$anyo' onmouseover=(this.innerHTML='Hoy'); onmouseout=(this.innerHTML='$fecha'); > Enero 2012 </a>

$fecha es la fecha actual, es un simple texto guardado en esta variable.

Sin embargo si no pongo $fecha y pongo una palabra directamente por ejemplo "Diciembre 2009", funciona.

<a href='calendario.php?mes=$mes&anyo=$anyo' onmouseover=(this.innerHTML='Hoy'); onmouseout=(this.innerHTML='Diciembre 2009'); > Enero 2012 </a>

A que es debido?
  #4 (permalink)  
Antiguo 01/12/2009, 12:39
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Cambiar el nombre de un link al posicionarse encima de él

Estás usando PHP, ¿verdad? Debes saber que la variable $fecha es de PHP, que PHP se ejecuta en el servidor y que al navegador ya le llegará directamente el contenido de la variable si es que lo imprimes. La variable no puede estar disponible en cualquier lado... no se "pasa" mágicamente de PHP a javascript y viceversa. Lo que tendrías que hacer es:
Código PHP:
<?php
echo "<a href='calendario.php?mes=$mes&anyo=$anyo' onmouseover=(this.innerHTML='Hoy'); onmouseout=(this.innerHTML='$fecha'); >$fecha</a>";
?>
O bien:
Código HTML:
<a href='calendario.php?mes=$mes&anyo=$anyo' onmouseover=(this.innerHTML='Hoy'); onmouseout=(this.innerHTML='<?php echo $fecha;?>'); ><?php echo $fecha;?></a> 
En lugar de <?php echo $a;?> puedes usar <?= $a;?>, como un atajo. ¡Suerte!
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:33.