Foros del Web » Programando para Internet » Javascript »

ir marcador sin que se marque en el historial

Estas en el tema de ir marcador sin que se marque en el historial en el foro de Javascript en Foros del Web. Hola! ¿De que manera en JavaScript puedo hacer que la página vaya a un marcador de la misma pero sin que quede registrado en el ...
  #1 (permalink)  
Antiguo 27/12/2009, 03:01
 
Fecha de Ingreso: julio-2009
Mensajes: 6
Antigüedad: 14 años, 9 meses
Puntos: 0
Exclamación ir marcador sin que se marque en el historial

Hola!

¿De que manera en JavaScript puedo hacer que la página vaya a un marcador de la misma pero sin que quede registrado en el historial?

Código Javascript:
Ver original
  1. location.hash='top';

causa el mismo efecto que;

Código Direccion URL:
Ver original
  1. mi_pagina#top_pg

como hacer que funcione evitando que se registre en el historial?
  #2 (permalink)  
Antiguo 27/12/2009, 08:51
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: ir marcador sin que se marque en el historial

Podrías usar un script que haga lo mismo que smothscroll o crearte uno semejante. Lo importante es saber calcular la posición de inicio y fin, para luego, con el método scrollTo(x,y) crear una animación (eso en el caso que lo quieras animado, si no, basta con calcular sólo la posición de destino).
Para calcular la posición de inicio (que es donde se encuentra el scroll vertical), podés usar algo como esto:
Código PHP:
var pos1=self.pageYOffset || (document.documentElement.scrollTop+document.body.scrolTop
Para la posición final, algo como esto, considerando que el id del elemento a cuya posición querés dirigirte es "idelementodestino":
Código PHP:
function getElementPosition() {
        var 
offsetTrail this;
        var 
offsetLeft 0;
        var 
offsetTop 0;
        while (
offsetTrail) {
            
offsetLeft += offsetTrail.offsetLeft;
            
offsetTop += offsetTrail.offsetTop;
            
offsetTrail offsetTrail.offsetParent;
        }
        return {
left:offsetLefttop:offsetTop};
}
var 
pos2=getElementPosition.call(document.getElementById('idelementodestino')).top
Luego si querés aplicar alguna animación, hay diferentes maneras de hacerlo:
http://www.disegnocentell.com.ar/notas2.php?id=239
Y si no querés animarlo, simplemente bastaría con asignarle al elemento de origen un onclick="scrollTo(0,pos2)";
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 05:19.