jQuery: déplace la fenêtre pour afficher l'élément récemment basculé
J'ai un extrait de jQuery dans la doc prêt qui permet de passer un div contenant un textarea
:
$('div#addnote-area').hide(); //hide the div
$('a#addnote-link').click(function() { //click event listener on link
$('div#addnote-area').toggle(); //toggle the hidden div
});
La bascule fonctionne très bien en cliquant sur le lien. Le problème que je vais avoir, c'est que si div#addnote-area
est ci-dessous le navigateur de la fenêtre actuelle, il reste là, lorsque c'est indiqué. J'aimerais que l'utilisateur du curseur pour aller à la textarea et pour l'ensemble de la textarea pour être visible dans la fenêtre.
Cliquez ici pour voir une image http://i50.tinypic.com/5ousuv.png
source d'informationauteur k00k | 2010-02-24
Vous devez vous connecter pour publier un commentaire.
Découvrez la scrollTo jQuery plugin. Vous pouvez simplement faire quelque chose comme ceci:
Ou, si vous voulez animer, de donner le nombre de millisecondes pour le défilement à la dernière:
Sans la scrollTo plugin
EDIT: Bien je suis sûr d'obtenir beaucoup de points de ce vieux répondre 🙂
Ici un bonus, cela peut également être animés.
Suffit d'utiliser la
animate()
de la fonction et de la cible la balise body:$('body').animate({scrollTop:$('div#addnote-area').offset().top},500)
Essayer sur Stackoverflow! Ouvrez l'inspecteur de la console et exécuter
$('body').animate({scrollTop:$('#footer').offset().top},500)
de jQuery
scrollTop
fonctionne également. Essayez de définir comme:Vous pouvez obtenir la hauteur/largeur assez facilement à l'aide de
$(...).offset()
.