Bootstrap Apposer “Back to Top” Lien
Très bien, je vais avoir de la difficulté à comprendre la Bootstrap Apposer composant. Mon but est d'avoir un "Retour à la page" lien apparaît en bas à gauche de l'écran (dans la marge) si/lorsque la page défile en dessous du sommet du contenu. Ma page a une barre de navigation fixe vers le haut et un récipient pour le corps. Ci-dessous est l'idée générale de là où j'en suis, mais j'ai aussi l'installation d'un JS Fiddle qui illustre mon installation. Je ne suis pas une pro du positionnement de sorte que c'est une partie de mon problème.
<div class="navbar navbar-fixed-top">...</div>
<div class="content-container" id="top">
<p>Content that is longer than the viewport..</p>
<span id="top-link" data-spy="affix">
<a href="#top" class="well well-sm">Back to Top</a>
</span>
</div>
<style>
.navbar-fixed-top + .content-container {
margin-top: 70px;
}
.content-container {
margin: 0 125px;
}
#top-link.affix {
position: absolute;
bottom: 10px;
left: 10px;
}
</style>
- Jetez un oeil à markgoodyear.com/labs/scrollup/?theme=tab. Super facile à utiliser
- Merci pour la suggestion @Justin, mais j'essayais de faire de la "Bootstrap façon" due à d'autres besoins ne figurant pas dans ce post/question.
Vous devez vous connecter pour publier un commentaire.
Maintenant que je comprends l'Affixe de la composante mieux, j'ai trouvé la solution. Après avoir indiqué un haut offset et en ajustant le CSS, ça fonctionne bien. Le lien de défilement de l'affichage, puis "code pin" pour le bas. Pour les pages qui n'ont pas de barre de défilement, le lien n'est jamais activé. J'ai mis à jour le JS Fiddle (ici) avec un exemple de travail. Les principaux éléments sont les suivants:
HTML:
JS:
CSS:
Remarque: je n'étais pas en mesure d'utiliser le apposer en bas de décalage (exemple) pour masquer le lien pour de courtes pages en raison d'un bug avec les apposer la hauteur du conteneur de calcul (Bootstrap Question n ° 4647). Je suis sûr qu'il y est une solution de contournement et souhaite une solution à cette méthode.
($('body').outerHeight() > $(window).height())
pas de travail au lieu de( ($(window).height() + 100) < $(document).height() )
?$(document).height();
mais je comprends votre besoin maintenant. le document est le rendu de la page tandis que le corps est simplement le corps de l'élément (élément html peut avoir de remplissage ou une hauteur fixe, cela ne devrait pas affecter la hauteur du corps). hauteur() sont les éléments de la hauteur (selon méthode de zone) qui peut ou peut ne pas inclure rembourrage, tandis que la hauteur extérieure comprend padding, border et peut inclure une marge api.jquery.com/outerHeightback to top
à droite de bas de page ?merci pour le retour au haut de la touche, s'est avérée utile pour moi aussi 🙂
une petite amélioration serait d'éviter d'utiliser le
onclick=""
sur le<a>
tag, mais au lieu d'utiliserjQuery's
événement registrator:HTML:
JS: