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

Cargar pagina en div dependiendo del enlace que se clickee

Estas en el tema de Cargar pagina en div dependiendo del enlace que se clickee en el foro de Frameworks JS en Foros del Web. Hola buenas, estoy liado con una página y ayer estuve por la noche intentando hacer con jquery y javascript que al pinchar en un enlace ...
  #1 (permalink)  
Antiguo 12/11/2011, 04:00
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 13 años, 10 meses
Puntos: 4
Cargar pagina en div dependiendo del enlace que se clickee

Hola buenas, estoy liado con una página y ayer estuve por la noche intentando hacer con jquery y javascript que al pinchar en un enlace la página se me abriera en un div. Le paso el id del enlace pero no me lo abre, me lo abre en otra página siempre. ¿Como puedo solucionar esto?
Os dejo mi codigo:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. var s = "";
  3.  
  4. $(document).ready(function(){
  5.    $("#"+s).each(function(){
  6.       var href = $(this).attr("href");
  7.       $(this).attr({ href: "#"});
  8.       $(this).click(function(){
  9.          $("#principal").load(href);
  10.       });
  11.    });
  12. });
  13.  
  14.    
  15.  
  16. function d_id(i){
  17.     return s=document.getElementsByTagName('a')[i].id;
  18.     //alert(s);
  19. }
  20. </script>

Y en cada enlace en el onClick llamo a la función d_id(i) donde i es un valor fijo distinto que le paso en cada enlace.

¿Alguien me puede ayudar?
Un saludo.
  #2 (permalink)  
Antiguo 12/11/2011, 06:37
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 9 meses
Puntos: 1012
Respuesta: Cargar pagina en div dependiendo del enlace que se clickee

con la función d_id pretendes obtener la id de un elemento de la colección y ésta id pasarsela a la función en jquery.

en el jquery no estás invocando a la función d_id por lo tanto jquery busca un elemento con id (s). pero el valor de la variable (s) es vació.

no te haría falta usar javascript para obtener la id del elemento, podrías hacerlo con jquery. pero vamos a ver como se haría con javascript

en lugar de devolver la id, asigna la id a la variable (s). con lo que logras sobre escribirla
Cita:
s=document.getElementsByTagName('a')[i].id;
ahora (s) tiene la id del link pulsado.

problema?? que en jquery estás usando ready() que se ejecuta antes de que el contenido de la página sea mostrado y no creo que ambos puedan interactuar de la manera que pretendes.

por lo tanto, tienes que hacerlo todo con jquery
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 12/11/2011, 06:48
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: Cargar pagina en div dependiendo del enlace que se clickee

Cita:
Iniciado por IsaBelM Ver Mensaje
con la función d_id pretendes obtener la id de un elemento de la colección y ésta id pasarsela a la función en jquery.

en el jquery no estás invocando a la función d_id por lo tanto jquery busca un elemento con id (s). pero el valor de la variable (s) es vació.

no te haría falta usar javascript para obtener la id del elemento, podrías hacerlo con jquery. pero vamos a ver como se haría con javascript

en lugar de devolver la id, asigna la id a la variable (s). con lo que logras sobre escribirla

ahora (s) tiene la id del link pulsado.

problema?? que en jquery estás usando ready() que se ejecuta antes de que el contenido de la página sea mostrado y no creo que ambos puedan interactuar de la manera que pretendes.

por lo tanto, tienes que hacerlo todo con jquery
¿Y como lo podria hacer en JQuery?
He cambiado los enlaces por botones.

¿Me recomiendas algun manual o algo para JQuery?
  #4 (permalink)  
Antiguo 12/11/2011, 06:59
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 9 meses
Puntos: 1012
Respuesta: Cargar pagina en div dependiendo del enlace que se clickee

no uso librerías. por lo tanto mi recomendación irá enfocada a usar javascript.

aunque podrías probar con
Cita:
$("a").each(function(){
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 12/11/2011, 07:10
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: Cargar pagina en div dependiendo del enlace que se clickee

Vale, de momento todo bien. Ahora tengo un problema que nose como solventarlo. Utilizo botones, la funcion para que me coja el id del boton que he pulsado seria asi no?

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.    $("input").each(function(){
  3.       var href = "";
  4.       $(this).attr({ href: "#"});
  5.       $(this).click(function(){
  6.          $("#principal").load(href);
  7.       });
  8.    });
  9. });

Ahora, ¿Como le puedo yo indicar la pagina que tiene que abrir segun seleccione el botón?
  #6 (permalink)  
Antiguo 12/11/2011, 07:29
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 9 meses
Puntos: 1012
Respuesta: Cargar pagina en div dependiendo del enlace que se clickee

ya te digo que no uso librerías. estas consultas será mejor que las hicieses en el foro adecuado.

prueba cambiando
Cita:
$(this).attr({ href: "#"});
por
Cita:
$(this).attr({"id"});
donde id tiene asignada la url hacia la pagina a traer. también sería posible usar "name"
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #7 (permalink)  
Antiguo 12/11/2011, 07:52
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: Cargar pagina en div dependiendo del enlace que se clickee

Ya está solucionado, muchas gracias. Pongo aqui el codigo con el que me ha funcionado.

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.    $("input").each(function(){
  3.       var href = $(this).attr("name");
  4.       $(this).click(function(){
  5.          $("#principal").load(href);
  6.       });
  7.    });
  8. });

En la propiedad name del boton le indico la página que tiene que abrir.
Muchas gracias.

Una simple dudilla, ¿como puedo poner una pagina de carga hasta que muestra la pagina?
  #8 (permalink)  
Antiguo 12/11/2011, 08:03
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 9 meses
Puntos: 1012
Respuesta: Cargar pagina en div dependiendo del enlace que se clickee

supongo que al igual que ajax posee distintos estados (0, 1, 2, 3, 4). revisa la documentación de la api
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #9 (permalink)  
Antiguo 12/11/2011, 09:11
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: Cargar pagina en div dependiendo del enlace que se clickee

He encontrado un nuevo problema, al poner que se cargue en el div cuando seleccione un input al posicionarme en un text, tambien me hace la carga de la pagina. ¿Como puedo solucionar eso? He probado a poner en donde pone "input" poner button pero nada. ¿Tiene alguna solución?

Etiquetas: dependiendo, enlace, jquery
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 17:19.