Quel est le meilleur moyen de faire défiler la fenêtre du navigateur pour développer des éléments?

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

  •  05-07-2019
  •  | 
  •  

Question

Ce que je veux faire, c'est faire défiler la fenêtre lorsque je développe des éléments de ma page.

L’effet que j’essaie d’obtenir ressemble aux commentaires de débordement de pile. S'il s'étend au-delà de la page, il fait défiler la liste pour adapter tous les commentaires de la fenêtre.

Quel est le meilleur moyen de le faire?

Modifier: j'utilise JQuery.

Était-ce utile?

La solution

Ce plugin jQuery a bien fonctionné pour moi: http://demos.flesler.com/jquery/scrollTo/

Autres conseils

Si vous avez l'avantage d'utiliser Prototype, vous pouvez utiliser $ (element) .scrollTo () .

Sinon, l’idée générale est de calculer le décalage cumulé de l’élément, puis de définir window.scrollTop (et window.scrollLeft ) en conséquence.

Vous pouvez le faire facilement avec Scriptaculous (construit au-dessus de Prototype ):

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

Cela vous donne un contrôle plus précis que Prototype seul (délai avant le début, durée et événements de rappel (tels que afterFinish) qui vous permet de déclencher d'autres effets ou tout autre choix. Vous pouvez le faire défiler de manière fluide et nette, de sorte que la page pas soudainement.

Si vous connaissez le prochain élément de la source, vous pouvez simplement y accéder (location.href = "# ..."). Cela utiliserait le 'défilement' natif du navigateur et n’utiliserait aucune bibliothèque.

Vous pouvez utiliser ce code qui est correct mais pas parfait. Sur la suggestion de blonkm

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

Cela devrait fonctionner. Requiert jQuery mais vous dites déjà que vous utilisez cela.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top