Foros del Web » Programando para Internet » Javascript »

scroll de la nada

Estas en el tema de scroll de la nada en el foro de Javascript en Foros del Web. hola foro: cuando hago algo como pasarle un valor a un campo de texto (usando js obviamente), el scroll se me desplaza a inicio de ...
  #1 (permalink)  
Antiguo 16/07/2008, 22:40
Avatar de killerangel  
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 592
Antigüedad: 16 años, 7 meses
Puntos: 10
scroll de la nada

hola foro:

cuando hago algo como pasarle un valor a un campo de texto (usando js obviamente), el scroll se me desplaza a inicio de pagina, incluso cuando el codigo tiene algo como...

self.location="#aca";... donde 'aca' es un ancla....

no logro resolverlo alguna ayuda?

gracias
__________________
Sueñen... y trabajen por hacer esos sueños realidad... de eso se construye el futuro!!
Me siento entre la ASP-ada y la PHP-red
  #2 (permalink)  
Antiguo 16/07/2008, 22:46
Avatar de killerangel  
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 592
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: scroll de la nada

Hey!!!

esperen.... acabo de notar algo... lleva el scroll justo al ancla pero luego lo lleva nuevamente a incio en fraccion de segundos....

será por q el ancla aparece en la web como resultado de una llamada ajax??

segun parece es eso....
__________________
Sueñen... y trabajen por hacer esos sueños realidad... de eso se construye el futuro!!
Me siento entre la ASP-ada y la PHP-red
  #3 (permalink)  
Antiguo 17/07/2008, 02:15
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: scroll de la nada

Pon tu código por que de otra manera es difícil darte una respuesta correcta. Lo mas probable es que tengas que cancelar el evento click del mouse o algo por el estilo, pero como te digo, pon tu code y hablamos. Ademas dinos tambien como es que haces la llamada a la función que inserta el texto.

Saludos.
__________________
twitter: @imbuzu
  #4 (permalink)  
Antiguo 17/07/2008, 09:28
Avatar de killerangel  
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 592
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: scroll de la nada

Hola buzu.. gusto saludarte.

Pues el codigo no es nada del otro mundo mira..

function x(){
document.getElementById('caja_texto').val='hola';
self.href="#esta_ancla";
alert('algo');
}

Ahora bien, al probar este codigo en paginas de prueba funciona correctamente, pero como señale en el segundo post, por alguna razon, la pagina hace 'scroll' hasta el ancla, lo noto por q el alert aprece despues q la web se situa en el ancla, como debe ser, pero luegho sube hasta el inicio de la web...

he probado el codigo, como te dije, en paginas de prueba (redundando) y me funciona correctamente, pero en la web ya de aplicacion, pasa lo que señalo...

gracias
__________________
Sueñen... y trabajen por hacer esos sueños realidad... de eso se construye el futuro!!
Me siento entre la ASP-ada y la PHP-red
  #5 (permalink)  
Antiguo 17/07/2008, 09:31
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Respuesta: scroll de la nada

Es posible que sea porque lo llamas así:
<a href="#" onclick="x()">x</a>

Tendrías que poner un return false para cancelar la acción del enlace (subir a la parte de arriba del documento):
<a href="#" onclick="x(); return false;">x</a>



Quizás sea eso.
Saludos
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #6 (permalink)  
Antiguo 17/07/2008, 09:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: scroll de la nada

Pues bien, ¿podrías poner el enlace a tu página?. Ya que como te comentó buzu es difícil saber el error si solo colocas esa parte del código.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 17/07/2008, 09:48
Avatar de killerangel  
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 592
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: scroll de la nada

derkenuke, diste en el blanco man!!

efectivamente era eso... solo faltaba regresar un false... la verdad como novel en js no se por que haya sido el problema ni que ocacione el return false, pero sirvio.

Gracias a todos
__________________
Sueñen... y trabajen por hacer esos sueños realidad... de eso se construye el futuro!!
Me siento entre la ASP-ada y la PHP-red
  #8 (permalink)  
Antiguo 17/07/2008, 14:23
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: scroll de la nada

Cita:
Iniciado por buzu
Lo mas probable es que tengas que cancelar el evento click del mouse
Ya lo decía yo.

En este caso return false cancela el comportamiento por defecto del click. Digamos que tiienes:

Código:
    document.getElementById('mienlace');
    mienlace.onclick = abrirVentana
    function abrirVentana(){
        window.open("algo.html");
        return false;
    }
Como vez ahí le asignamos una función al evento onclick de un enlace. Si todo sale bien, la función regresara como valor true, lo que le indica al navegador que todo salió como se esperaba y que el enlace puede proseguir con su funcionalidad normal. Sin embargo, nosotros no queremos eso. Lo que queremos es que el enlace no siga con su funcionalidad normal, por lo que regresamos false, que es lo que normalmente regresaría la función si algo saliera mal.

puedes usar return para muchas otras cosas eh incluso regresar otros valores p.e.
Código:
function suma(){
     var suma = 2 + 1;
     return suma;
}

var dosMasUno = suma;
puedes usar el return solo para salir de una funcion p.e.

Código:
function obtenerID(){
    if(!document.getElementById){
         return;
    }else{
       //codigo a ejecutarse si el navegador soporta el metodo getElementById del DOM
    }
}
Saludos.
__________________
twitter: @imbuzu
  #9 (permalink)  
Antiguo 22/07/2008, 08:16
Avatar de killerangel  
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 592
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: scroll de la nada

muxas gaxas!!!
__________________
Sueñen... y trabajen por hacer esos sueños realidad... de eso se construye el futuro!!
Me siento entre la ASP-ada y la PHP-red
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 12:32.