Position fest auf einen bestimmten Punkt
ich habe Probleme mit der position eines div.
Ich möchte dieses div zu position relative Sie, bis die Seite ein Bildlauf durchgeführt wurde für eine bestimmte Menge von Pixeln.
In details habe ich ein div(#block-menu), das ist fast 300px unten auf der Seite möchte ich es, fixiert zu werden, wenn es Sie trifft die Spitze.
Ich habe versucht, mit diesem code, aber scheint nicht richtig zu arbeiten...
var header = $("#block-menu");
$(document).scroll(function(e) {
if($(this).scrollTop() >= 300 {
header.css({position: "fixed", "top" : "0"});
} else {
header.css("position", "relative");
}
});
</script>`
CSS:
#block-menu {
background: rgb(27, 85, 131);
position: relative;
}
HTML:
<div id="#first-block" height="100px"></div>
<div id="second-block" height="200px"></div>
<div id="block-menu"></div>
<div id="container"></div>
- "aber scheint nicht richtig zu arbeiten..." und Das heißt???
- Ich weiß nicht, etwas, das wie es aussieht nicht funktioniert wie es sollte, denke ich..ich versuche zu verstehen, wie ich kann 😉 danke ebenso
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es das, was Sie zu tun versuchen?
http://jsfiddle.net/vyHQC/
JS
CSS
HTML
Warum nicht verwenden Sie eine plugin, die schon arbeiten und ist schon getestet, in allen Browsern, das zu tun?
http://stickyjs.com/
jQuery
statt$
dies macht das plugin zu arbeiten, aber Ihre Seite ist ein Bündel von position absolute sollten Sie einen Blick auf das markup wieder.Linie
if($(this).scrollTop() >= 300 {
fehlt eine schließende Klammer für einen start.Habe ich eine funktionierende version basiert auf deinem code-Beispiel:
http://jsfiddle.net/DaveHogan/76kdr/2
Kurz gesagt, ich vermute, Sie benötigt eine
$(document).ready(function(){
und fehlt eine schließende Klammerif($(this).scrollTop() >= 300 {
sollte
if($(this).scrollTop() >= 300) {