Je veux faire un menu qui est corrigé. Mais je veux que ce soit corrigé seulement si j'ai défilé devant. En fait, je le veux comme le "comment .." menu sur la question poser une partie de stackoverflow. Je pensais que vous avez besoin de jquery pour faire de telles choses, mais je ne sais pas grand-chose à propos de jQuery. J'utilise ce code pour le menu et je veux que cela flotter. Ainsi, l'ensemble div sidebar doit flotter .:Comment faire un menu flottant qui reste en place jusqu'à ce que vous faites défiler dessus
<div id="sidebar">
<div>
<h2 class="title">Sites</h2>
<ul>
<li><a>first li</a></li>
<li><a>second li</a></li>
<li><a>third li</a></li>
</ul>
</div>
<div>
<h2 class="title">Sites</h2>
<ul>
<li><a>first li</a></li>
<li><a>second li</a></li>
<li><a>third li</a></li>
</ul>
</div>
</div>
Je sais comment je peux le laisser flotter en haut de la page, mais je le veux flotter dans un emballage.
J'espère que vous pouvez m'aider.
EDIT
maintenant j'ai le menu flottant avec ce code:
<script type="text/javascript">
$(function() {
var offset = $("#sidebar").offset();
var topPadding = 15;
$(window).scroll(function() {
if ($(window).scrollTop() > offset.top) {
$("#sidebar").stop().animate({
marginTop: $(window).scrollTop() - offset.top + topPadding
});
} else {
$("#sidebar").stop().animate({
marginTop: 0
});
};
});
});
</script>
Mais il y a un effet de rebond vraiment gênant quand je défiler vers le bas. Y a-t-il un moyen de supprimer cet effet?
Une petite question, puis-je me débarrasser de la chose de rebondir lorsque vous faites défiler vers le bas? Ou est-ce qu'il doit juste charger la page et à cause de cela a un rebond dans celui-ci. Parce que je veux que ce soit plus comme quand il serait réparé. –
Pour éviter l'animation, remplacez à la fois '$ sidebar.stop(). Animate ({' dans l'exemple de code lié ci-dessus par '$ sidebar.css ({' ne pas animer le changement du margin-top mais le régler immédiatement. Cela aide car je ne suis pas sûr de ce que l'on entend par "rebondir". – Capricorn