Antworten auf deine Fragen:
Neues Thema erstellen

Div soll beim herunterscrollen mitwandern

danielx11

Nicht mehr ganz neu hier

AW: Div soll beim herunterscrollen mitwandern

Dafür benötigst du keine JS Kenntnisse. Das Menü kannst du auch mit reinem CSS formatieren. Ob nun mit einer Positionierung, Margin, Padding oder sonst etwas, das bleibt dir überlassen...

Das klappt leider nicht. Das Menü ist generell schon, sagen wir mal 350px vom oberen Browserrand entfernt. Scrolle ich nun nach unten, dann behält er diesen Abstand stets bei, anstatt das Menü oben zu positionieren. Da hilft auch kein margin-top -350px o.ä. weil das Menü sonst bei der Ausgangsposition zu weit oben wäre, dafür dann aber nach dem Scrollen stimmig dargestellt wird. Die Position ist absolute...
 

CrazyLopp

Hat es drauf

AW: Div soll beim herunterscrollen mitwandern

Das klappt leider nicht. Das Menü ist generell schon, sagen wir mal 350px vom oberen Browserrand entfernt. Scrolle ich nun nach unten, dann behält er diesen Abstand stets bei, anstatt das Menü oben zu positionieren. Da hilft auch kein margin-top -350px o.ä. weil das Menü sonst bei der Ausgangsposition zu weit oben wäre, dafür dann aber nach dem Scrollen stimmig dargestellt wird. Die Position ist absolute...

Ok, jetzt habe ich verstanden was du meinst. Ist relativ simpel zu lösen. In dem Tutorial werden ja als Standartwerte für Top 0px verwendet (im HTML bz. Inline-Style). Dort trägst du als erstes deinen eigenen Wert ein damit von Anfang an die richtige Position erreicht ist.

Nun kommt doch etwas Javascript ins Spiel, denn du musst die aktuelle Position der Navigation abfragen. Hierzu kannst du folgenden Abfrage innerhalb der setNavPosition eintragen:

Code:
if(targetPosition == 0) {
	$('#navigation').animate({top: "250"}, 1000);
}

Nun wandert die Navigation automatisch wieder nach unten sobald sie auf 0 steht. Sofern Du jedoch nicht möchtest das sie wieder runter wandert, sondern ab einer gewissen Anzahl von Pixel nach Oben stehen bleibt, so kannst du den Codeblock, der oben steht wieder löschen und musst nur diesen Abschnitt deinen Wünschen anpassen:

Code:
try {
   if (document.body.scrollTop > document.documentElement.scrollTop) {
      var targetPosition = document.body.scrollTop;
   } else {
      var targetPosition = document.documentElement.scrollTop + 120;
   }
}

Dort wo die 120 stehen kannst du deinen gewünschten Wert eintragen. Es bedeutet einfach nur das er mindestens 120 Pixel von oben Platz halten soll sofern die Navigation wieder nach oben rutsch. Probier es einfach mal aus, ich habe es nur mal kurz im Chrome gestetet, sollte aber auch in den anderen Browsern funktionieren...


Beste Grüße
 

danielx11

Nicht mehr ganz neu hier

AW: Div soll beim herunterscrollen mitwandern

der oben steht wieder löschen und musst nur diesen Abschnitt deinen Wünschen anpassen:

Code:
try {
   if (document.body.scrollTop > document.documentElement.scrollTop) {
      var targetPosition = document.body.scrollTop;
   } else {
      var targetPosition = document.documentElement.scrollTop + 120;
   }
}

Hallo CrazyLopp! Vielen Dank für deinen Support. Aber leider hat das nicht funktioniert. Hat keinen Unterschied gezeigt und die Navibox (heißt bei mir #Quicklink) hat nach oben hin dennoch einen zu großen Abstand nach dem Schollen. So sieht der Code aktuell aus:

Code:
try {
window.onscroll = setNavPosition;
	if(targetPosition == 0) {
	$('#quicklink').animate({top: "0"}, 1000);
}
}

catch(e) {
document.documentElement.onscroll = setNavPosition;
}
function setNavPosition(){
$('#quicklink').stop();
try {
if (document.body.scrollTop > document.documentElement.scrollTop) {
var targetPosition = document.body.scrollTop;
}
else {
var targetPosition = document.documentElement.scrollTop + 150;
}}
catch(e) {
var targetPosition = document.documentElement.scrollTop;
}
$('#quicklink').animate({top: targetPosition}, 1000);
}
 
Zuletzt bearbeitet:

danielx11

Nicht mehr ganz neu hier

AW: Div soll beim herunterscrollen mitwandern

http://jsfiddle.net/dY9QN/1/

Einfach den JS Code kopieren und lächeln :)


Hallo Pixelaner,

merci! Habs wie folgt eingebunden:

Code:
var element = $('#quicklink'), // Deine Navigation (Ex: Klasse .menu)
        position = element.offset(),
        padding = 20;
    $(window).scroll(function(){
        if($(window).scrollTop() > position.top ) {
            element.stop().animate({ marginTop: $(window).scrollTop() - position.top + padding },1000);
        } else {
            element.stop().animate({ marginTop:0 });
        }
    }); ​

Da passiert dann allerdings überhaupt nichts. Die DIV-Box bleibt oben stehen.
 

Pixelaner

Der Pixelaner

AW: Div soll beim herunterscrollen mitwandern

js ist eingebunden ? ansonsten schau mal in die fehlerkonsole deines browsers ob dort ein eintrag hinterlegt ist
 

CrazyLopp

Hat es drauf

AW: Div soll beim herunterscrollen mitwandern

Code:
try {
window.onscroll = setNavPosition;
	if(targetPosition == 0) {
	$('#quicklink').animate({top: "0"}, 1000);
}
}

catch(e) {
document.documentElement.onscroll = setNavPosition;
}
function setNavPosition(){
$('#quicklink').stop();
try {
if (document.body.scrollTop > document.documentElement.scrollTop) {
var targetPosition = document.body.scrollTop;
}
else {
var targetPosition = document.documentElement.scrollTop + 150;
}}
catch(e) {
var targetPosition = document.documentElement.scrollTop;
}
$('#quicklink').animate({top: targetPosition}, 1000);
}

Lösche mal folgendes aus deinem Code:
Code:
if(targetPosition == 0) {
	$('#quicklink').animate({top: "0"}, 1000);
}

Dann sollte es funktionieren...
 

danielx11

Nicht mehr ganz neu hier

AW: Div soll beim herunterscrollen mitwandern

Lösche mal folgendes aus deinem Code:
Code:
if(targetPosition == 0) {
	$('#quicklink').animate({top: "0"}, 1000);
}

Dann sollte es funktionieren...

habe ich gemacht. Funktioniert so wie vorher, nur dass die Box eben nach dem Scrollen zu weit unten ist anstatt am oberen Browserrand.
 

CrazyLopp

Hat es drauf

AW: Div soll beim herunterscrollen mitwandern

habe ich gemacht. Funktioniert so wie vorher, nur dass die Box eben nach dem Scrollen zu weit unten ist anstatt am oberen Browserrand.

Lade dann ml bitte deinen kompletten Quellcode hoch, dann kann man den Fehler schneller finden :)

Edit meint noch:
Ich hänge dir mal meine modifizierten Tutorialdateien in den Anhang, denn vielleicht habe ich dich ja wieder falsch verstanden und du meinst etwas ganz anderes....
 
Zuletzt bearbeitet:

danielx11

Nicht mehr ganz neu hier

AW: Div soll beim herunterscrollen mitwandern

hab gerad Feedback bekommen, dass die Lösung nicht mehr in Frage kommt.
Spitze! Könnt kotzen. Dennoch Danke für den Support!! Sorry.
 

danielx11

Nicht mehr ganz neu hier

ich hab dir doch nen jsfiddle link rübergeschickt. was ist denn damit ?

Hallo Pixelaner,

merci dafür! Aber das hatte leider auch nicht geklappt. Keine Ahnung wieso nicht. Jquery ist aktuell.

Edit meint noch:
Ich hänge dir mal meine modifizierten Tutorialdateien in den Anhang, denn vielleicht habe ich dich ja wieder falsch verstanden und du meinst etwas ganz anderes....

Vielen Dank. Werd ich archivieren, kann es sicherlich noch mal gebrauchen.
Der Link hat gerade noch nicht funktioniert.
 
Zuletzt bearbeitet von einem Moderator:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.614
Beiträge
1.538.349
Mitglieder
67.525
Neuestes Mitglied
mgtaucher
Oben