JQuery - Scroll a un div despues de cargarlo con #div.load

 
Vista:
Imágen de perfil de Carlos

Scroll a un div despues de cargarlo con #div.load

Publicado por Carlos (1 intervención) el 15/09/2015 09:47:10
Hola,

Soy nuevo en el foro y también en mundo del jquery, js...
Mis conocimientos son básicos porque aunque sea infórmatico llevo especializado en herramientas de gestión de TI muchos años.

Me he aventurado a crearle una web a mi novia para su nuevo proyecto y estoy teniendo un bloqueo para la funcionalidad del menu superior.
Para modularizar la página he creado .htmls para cada sección y mediante la función .load las cargo en el bloque central de la web.

Pongo una captura para que sea más sencillo de visualizar.
1

El comportamiento que quiero conseguir es que al hacer click sobre los niveles dos del menú (4.1, 4.2 y 4.3) además de cargar el 4.html me haga un scroll a los div internos.


Despues de leer el api he comprendido que $("#maindiv").load(4.html, "#4.2") lo que realiza es solo cargarme el div 4.2
También me he revisado funciones de scroll como scrollTop, pero no me reconoce el div 4.2 y me deja un error.


¿Voy por buen camino? ¿Hay maneras más sencillas?
Os agradecería si me pudierais iluminar.



Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 302
Oro
Ha mantenido su posición en JQuery (en relación al último mes)
Gráfica de JQuery

Scroll a un div despues de cargarlo con #div.load

Publicado por xve (673 intervenciones) el 15/09/2015 17:36:41
Hola Carlos, es una manera, el único inconveniente, es que todo este contenido que se carga por ajax, google no lo indexa... pero si esto no es indispensable, esta bien...

Lo que tienes que tener en cuenta, es que cada vez que cargues la pagina en el div con $load(), tienes que cargar las funciones que vayas a utilizar en el, como es el caso de la función que te lleve a un div en concreto. Recueda que una vez se carga jquery, únicamente conoce el DOM que había en el momento de cargarse.

Aquí he preparado un ejemplo de como ir a un id en concreto de la pantalla con jquery:
http://www.lawebdelprogramador.com/codigo/JQuery/3275-Ir-a-una-posicion-de-la-pantalla-por-su-id.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vainas
Val: 27
Ha mantenido su posición en JQuery (en relación al último mes)
Gráfica de JQuery

Scroll a un div despues de cargarlo con #div.load

Publicado por Vainas (96 intervenciones) el 19/09/2015 11:35:54
Buenas:

Si $("#maindiv").load(4.html "#4.2") carga solamente lo que se encuentra en el id "4.2" no te puedes desplazar hasta el a menos que dentro tengas mas informacion.

Prueba cargar el 4 entero y desplazarte hasta el con la function que se puede ejecutar despues de que se carga el documento:

http://api.jquery.com/load/

1
2
3
$( "#maindiv" ).load( "4.html", function() {
  // Aqui te desplazas con scrolltop o alguna de esas funciones...
});

Esta funcion tiene una peculiaridad y es que si la usas asi:

$("#maindiv").load(4.html "#4.2") y el documento tiene algun script no se ejecuta. Sin embargo si la usar asi: $("#maindiv").load(4.html ") los script si dentro del documento que llamas (4.html) si que se ejecutan.

nota: he quitado la coma entre 4.html y #4.2 ya que no es necesario.

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar