¿Cuál es la mejor manera de desplazar la ventana del navegador para expandir elementos?

StackOverflow https://stackoverflow.com/questions/245768

  •  05-07-2019
  •  | 
  •  

Pregunta

Lo que quiero hacer es desplazarme hacia abajo en la ventana cuando amplío elementos en mi página.

El efecto que estoy tratando de lograr es como los comentarios de desbordamiento de pila. Si se expande más allá de la página, se desplaza hacia abajo para ajustarse a todos los comentarios en la ventana.

¿Cuál es la mejor manera de hacer esto?

Editar: estoy usando JQuery.

¿Fue útil?

Solución

Este complemento de jQuery funcionó bien para mí: http://demos.flesler.com/jquery/scrollTo/

Otros consejos

Si tiene la ventaja de usar Prototype, puede usar $ (element) .scrollTo () .

De lo contrario, la idea general es calcular el desplazamiento acumulado del elemento y, a continuación, configurar window.scrollTop (y window.scrollLeft ) en consecuencia.

Puede hacerlo bien con Scriptaculous (construido sobre Prototype ):

new Effect.ScrollTo('someDiv',{...some parameters...})

Le brinda un control más preciso que el Prototipo solo (retrasos antes del inicio, duración y eventos de devolución de llamada (como después del Acabado) que le permiten activar otros efectos o lo que sea que elija. No saltes de repente.

Si sabes cuál es el siguiente elemento en la fuente, puedes saltar a ese elemento (location.href = " # ... "). Esto usaría el "desplazamiento" nativo del navegador y no utilizaría ninguna biblioteca.

Puede usar este código que está bien pero no es perfecto. Basado en la sugerencia de blonkm

function scrollTo( Selector ){
  $(Selector).before("<a name='scroll' id='scroll'></a>");
  document.location.hash = 'scroll';
  $('scroll').remove();
}

Esto debería funcionar. Requiere jQuery pero ya dices que usas eso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top