Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Ignorar salto de posición al usar un #

Estas en el tema de Ignorar salto de posición al usar un # en el foro de Frameworks JS en Foros del Web. Buen día. Tengo un slide, que está programado desde un menú lateral de la siguiente manera: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < ul id ...
  #1 (permalink)  
Antiguo 06/07/2011, 21:46
Avatar de hey_alan  
Fecha de Ingreso: diciembre-2006
Ubicación: México
Mensajes: 348
Antigüedad: 18 años
Puntos: 8
Ignorar salto de posición al usar un #

Buen día.

Tengo un slide, que está programado desde un menú lateral de la siguiente manera:

Código HTML:
Ver original
  1. <ul id="menu">
  2. <li id="a"><a href="#inicio"><span>I</span>nicio</a></li>
  3. <li id="b"><a href="#servicios"><span>S</span>ervicios</a></li>
  4. <li id="c"><a href="#portafolio"><span>P</span>ortafolio</a></li>
  5. <li id="d"><a href="#contacto"><span>C</span>ontacto</a></li>
  6. </ul>

El caso es que será un slide que manipularé con JQuery. Como todos sabemos, los enlaces llevarán a la misma página y usé en el href el símbolo del gato con el id de la respectiva capa.

Esto lo hago para que cuando el navegador tenga JS desactivado, al hacer click en el enlace se salte hasta el punto donde se encuentra dicha capa.

Todo está perfecto, sólo que cuando está activado, igualmente da un salto de posicíon que no se ve bien.

Existe alguna manera de hacer que el navegador ignore ese salto si JS está activado?

Muchísimas gracias ;)
__________________
Alan Marth Media

Diseño web y Publicidad en Morelia, Michoacán
  #2 (permalink)  
Antiguo 07/07/2011, 00:43
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años, 1 mes
Puntos: 66
Respuesta: Ignorar salto de posición al usar un #

hola Alan,
a ver si me he enterado bien. si el usuario no tiene JS activado has montado un script para que se mueva por anclas (o símbolos de gato, como tú dices). Si es eso, siempre lo va a hacer así, tenga o no el javascript activado. Supongo que conoces la etiqueta <noscript>, con ella puedes montar tu sistema de anclas en caso de que el usuario tenga el JS desactivado. pero debes quitarlo de tu código JS, porque sino pasa lo que tú dices; que aunque tenga el JS activado se mueve por anclas.

saludos.
  #3 (permalink)  
Antiguo 07/07/2011, 01:04
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Respuesta: Ignorar salto de posición al usar un #

Hola:

Para cancelar enlaces se pone: onclick="return false".

Saludos ;arriba:
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 07/07/2011, 01:58
Avatar de JBalde  
Fecha de Ingreso: febrero-2005
Ubicación: Madrid
Mensajes: 118
Antigüedad: 19 años, 10 meses
Puntos: 5
Respuesta: Ignorar salto de posición al usar un #

Si lo controlas por javascript, puedes hacer algo como lo siguiente que seguramente tengas

$("#menu > li > a").onclick(function() {
//tucodigo
....
return false;
});

poniendo el return false ahi te aseguras que el link, ancla o enlace de toda la vida no se ejecute cuando el javascript este activo.
  #5 (permalink)  
Antiguo 07/07/2011, 12:06
Avatar de hey_alan  
Fecha de Ingreso: diciembre-2006
Ubicación: México
Mensajes: 348
Antigüedad: 18 años
Puntos: 8
Respuesta: Ignorar salto de posición al usar un #

Muchas gracias ;)

Lo que buscaba exactamente era un truco como el del return, no creo que sea muy viable tener que hacer una separación <noscript> de los enlaces, justamente eso era lo que quería evitar (bueno, más bien yo tenía pensado modificar el atributo href desde JQuery para quitarle el enlace interno).

Muchas gracias a todos ;)
__________________
Alan Marth Media

Diseño web y Publicidad en Morelia, Michoacán

Etiquetas: ignorar, javascript, jquery, js, salto
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 01:30.