Foros del Web » Programando para Internet » Javascript »

¿Puedo evitar que un enlace javascript cambie mi scroll?

Estas en el tema de ¿Puedo evitar que un enlace javascript cambie mi scroll? en el foro de Javascript en Foros del Web. Hola, tengo esta función para cambiar el color de una capa: <script type="text/javascript"> function modificarEstilo() { if (capa.style.background== "#000") { capa.style.background= "#fff"; }else { capa.style.background= ...
  #1 (permalink)  
Antiguo 05/11/2008, 02:12
Usuario no validado
 
Fecha de Ingreso: marzo-2004
Mensajes: 349
Antigüedad: 20 años
Puntos: 0
¿Puedo evitar que un enlace javascript cambie mi scroll?

Hola, tengo esta función para cambiar el color de una capa:

<script type="text/javascript">
function modificarEstilo() {
if (capa.style.background== "#000") {
capa.style.background= "#fff";
}else {
capa.style.background= "#000";
}
}
</script>


Y lo llamo con:

<a href="#" onClick="modificarEstilo()">ACTIVAR CAMBIOr</a>
<div id="capa" style="background:#000;
width:500px; padding:5px;
border:1px solid #000; overflow:hidden;">Texto en capa</div>


El problema es que cuando se activa (al dar al enlace) la página salta al principio (sube el scroll al inicio de la web) y se pierde el efecto pretendido efecto. ¿Puede evitarse?

Gracias
  #2 (permalink)  
Antiguo 05/11/2008, 05:27
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: ¿Puedo evitar que un enlace javascript cambie mi scroll?

El problema se trató demasiadas veces, de manera que la próxima vez usa el buscador.
Luego de onclick="loquesea();" agregar un return false:
onclick="loquesea();return false;"
O directamente, no usar un enlace y aplicar el evento a otro objeto (un span, por ejemplo, con style="cursor:pointer;" para que aparezca la manito)
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 21:12.