Foros del Web » Programando para Internet » Javascript »

Evitar ir al inicio de una pagina después de ejecutar función

Estas en el tema de Evitar ir al inicio de una pagina después de ejecutar función en el foro de Javascript en Foros del Web. Estimados; al ejecutar una función JS (jquery), el navegador se va al inicio de la pagina, ¿Hay alguna forma de evitar esto? Busqué, pero no ...
  #1 (permalink)  
Antiguo 22/03/2013, 08:01
Avatar de franfritz  
Fecha de Ingreso: marzo-2003
Ubicación: Stgo Chile
Mensajes: 260
Antigüedad: 21 años, 8 meses
Puntos: 0
Evitar ir al inicio de una pagina después de ejecutar función

Estimados; al ejecutar una función JS (jquery), el navegador se va al inicio de la pagina, ¿Hay alguna forma de evitar esto?

Busqué, pero no encontré nada. O quizas no ocupeé las palabras indicadas, busqué por "Evitar window.scrolltop".

Por favor, a ver si me pueden ayudar.
  #2 (permalink)  
Antiguo 22/03/2013, 08:13
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 16 años, 3 meses
Puntos: 15
Respuesta: Evitar ir al inicio de una pagina después de ejecutar función

aaammm como estas ejecutando la función?, dejas ver un poco el código?
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #3 (permalink)  
Antiguo 22/03/2013, 08:45
Avatar de franfritz  
Fecha de Ingreso: marzo-2003
Ubicación: Stgo Chile
Mensajes: 260
Antigüedad: 21 años, 8 meses
Puntos: 0
Respuesta: Evitar ir al inicio de una pagina después de ejecutar función

miguec04 es engorroso colocar todo el código, pero lo que tengo es una grilla que se carga desde php, y para cada registro tengo un botón que ejecuta la siguiente funcion JS:

Código:
function acepta_accion(id_det_reserva,r,id_reserva){
	$('#laod_small_'+r).html("<img src='img/cargando_small.gif'>");
	$.post("pagina.php", {op: 4,det_reserva_id: id_det_reserva},function(){
			$('#det_reserva_'+r).load('info_ubicacion.php?tipo=ar&reserva_id='+id_reserva+'&r='+r,function(){
					$('#laod_small_'+r).empty();
			});			
	});				
}
y por ejemplo lo que pasa es que estoy en un registro bien abajo, osea con el scroll bien abajo, y hago click en el boton, y el navegador se dispara al principio de la pagina.
  #4 (permalink)  
Antiguo 22/03/2013, 08:58
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 16 años, 3 meses
Puntos: 15
Respuesta: Evitar ir al inicio de una pagina después de ejecutar función

Muestrame el html donde das click como tienes el elemento donde ejecutas la funcion una linea puede ser
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #5 (permalink)  
Antiguo 22/03/2013, 09:00
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 16 años, 3 meses
Puntos: 15
Respuesta: Evitar ir al inicio de una pagina después de ejecutar función

Mira yo hago eso normalmente asi

Código HTML:
Ver original
  1. <a href="#aqui" title="aqui">ver</a>
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #6 (permalink)  
Antiguo 22/03/2013, 09:03
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 16 años, 3 meses
Puntos: 15
Respuesta: Evitar ir al inicio de una pagina después de ejecutar función

Otro ejemplo

http://www.duiops.net/curso/enldp.htm
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #7 (permalink)  
Antiguo 22/03/2013, 09:10
Avatar de franfritz  
Fecha de Ingreso: marzo-2003
Ubicación: Stgo Chile
Mensajes: 260
Antigüedad: 21 años, 8 meses
Puntos: 0
Respuesta: Evitar ir al inicio de una pagina después de ejecutar función

miguec04, muchas gracias por tu respuesta. Tu me dices que después que ejecute la funcion JS, ejecute un ancla. Puede ser ha.... tengo que probarlo.
Probaré eso, porque parece que no es posible evitar el scrollTop automático.


Saludos.
  #8 (permalink)  
Antiguo 22/03/2013, 09:14
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 16 años, 3 meses
Puntos: 15
Respuesta: Evitar ir al inicio de una pagina después de ejecutar función

Que pena contigo no ser tan claro pero si era un ancla me falta mejorar mi vocabulario tecnico :D
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #9 (permalink)  
Antiguo 22/03/2013, 11:31
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Evitar ir al inicio de una pagina después de ejecutar función

Hola:

No es exactamente que se ejecute un ancla sino que se enlaza... La etiqueta "a" tiene dos sentidos semánticos, la más usada y conocida es la de enlazar... las urls pueden ser internas (empezadas por "#") y las de siempre externas. href="#aqui" está indicando un enlace interno hacia un ancla con name="aqui" (la etiqueta a con sentido semántico de anclaje), u otra etiqueta cualquiera con id="aqui"... al poner ese href debería existir ese ancla... si no se encuentra el navegador se ubica al tope de la página (igual que href="#")

Dos soluciones:

1. Si no hay intención de enlazar no usar un enlace.

2. (no la recomiendo): cancelar el enlace.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 08/07/2013, 12:25
Avatar de franfritz  
Fecha de Ingreso: marzo-2003
Ubicación: Stgo Chile
Mensajes: 260
Antigüedad: 21 años, 8 meses
Puntos: 0
Respuesta: Evitar ir al inicio de una pagina después de ejecutar función

Se que ha pasado mucho tiempo de esta pregunta, pero tuve el mismo problema y busqué este Tema, ahora ya me queda claro. Muchas gracias caricatos.

Ah bueno la solución era muy facil;

mi enlace para ejecutar la función era asi:

<a href="#" onclick="funcion()">

entonces para que no ocurra el scrolltop debe ser:

<a href="javascript:funcion()">

Además agrego que para que la ventana dialog jquery siempre se habra arriba le puedes dar la posición así:

$("#ventana").dialog({
autoOpen: false,
modal: true,
width: ancho,
height:alto,
position: ['top',0],
title:titulo,
buttons: {
"Cerrar": function() {
$(this).dialog("close");
}
}
});

Saludos.

Última edición por franfritz; 08/07/2013 a las 14:32

Etiquetas: inicio, jquery, js
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:35.