J'utilise .slideToggle pour ouvrir un panneau lorsque l'utilisateur clique sur un lien:défilement automatique .slideToggle vers le bas pour révéler le contenu
<script type="text/javascript">
$(document).ready(function(){
$(".btn-slide").click(function(){
$("#panel").slideToggle("slow");
$(this).toggleClass("active");
return false;
});
});
</script>
Le contenu de la div basculée (de #panel) est plus grand que la hauteur le div contenant si scorllbars apparaissent. Je voudrais que la barre de défilement verticale défile automatiquement vers le bas pour révéler le nouveau contenu lorsque le div est basculé. Je pense que je pourrais probablement le faire avec .scrollTop pour que cela se produise mais je ne suis pas sûr de savoir comment y arriver en même temps ... Des idées?
EDIT: Il semble y avoir un consensus que ce soit la meilleure façon de s'y prendre pour atteindre ce que je décrit:
<script type="text/javascript">
$(document).ready(function(){
$(".btn-slide").click(function(){
var $panel = $("#panel");
$panel.slideToggle("slow");
if ($panel.is(':visible')){
$panel.parent().scrollTop($panel.height()-$panel.parent().height());
}
$(this).toggleClass("active");
return false;
});
});
</script>
Cela rend la lame du panneau, mais le défilement vers le bas effet ne fonctionne pas ..
Si cela n'a aucun sens s'il vous plaît faites le moi savoir afin que je puisse le réécrire. J'ai vraiment besoin d'être résolu - merci! – Thomas
Essayez la solution à partir de ce post: http://stackoverflow.com/questions/270612/scroll-to-bottom-of-div var panelDiv = document.getElementById ("panel"); panelDiv.scrollTop = panelDiv.scrollHeight; –
Quelqu'un a suggéré quelque chose de similaire mais je n'arrive pas à obtenir les deux effets. Seul le panneau glisse. – Thomas