Antworten auf deine Fragen:
Neues Thema erstellen

Navigation soll sich auch beim Scrollen ändern

Pixinchen

Noch nicht viel geschrieben

Hallo zusammen,
ich habe mir einen Onepager mit fixer Navigation gebaut.

Nun habe ich folgenden Wunsch (und weiß nicht wie ichs umsetzen kann) :

Beim Scrollen soll die jeweils der Navi Punkt gehighlight sein, in dem man sich aktuell befindet. Im Augenblick ändern sich die Navi Punkte nur bei Klick auf den jeweiligen Navi Punkt.

Es wäre super, wenn mir jemand sagen könnte, welchen script-schnippsel ich einbauen muss. (bin totaler anfänger in diesem gebiet...)


DANKE EUCH!!!
Gruß Kerstin
 
Zuletzt bearbeitet:

P

Pixelverwender

Guest

AW: Navigation soll sich auch beim Scrollen ändern

Die aktiven Navipunkte werden in Firefox ganz normal aktiviert (blau) angezeigt.
Weiterhin: Hast Du Dir Deine Website mal in verschiedenen Browsern, insbesondere IE angeschaut? Wahrscheinlich nicht...
Sonstiges, was spontan auffällt: Der W3C Validator meldet „17 Errors, 11 warning(s) “.

Tipp: Ganz dringend mal sowohl Typografie als auch Rechtschreibung überarbeiten.

Berufserfahrung als Webdesignerin. Ah ja...
 

Pixinchen

Noch nicht viel geschrieben

AW: Navigation soll sich auch beim Scrollen ändern

also vorab:
die seite ist noch nicht auf der richtigen url live. es ist einfach nur zum testen... (rohversion)
nein, übergreifende browser-tests sind noch nicht gemacht worden.
ich bin Grafikerin und keine Programmiererin. (das ist meine allererste Seite, die ich schreibe...) also bitte ein bisschen Nachsicht. Webdesign ist halt ein weitläufiger begriff...
mit welcher Firefox Version arbeitest du? ich habe sowohl am mac als auch am pc im firefox getestet. und dort verhält sich die navi bei klick richtig.
und die Errors und warnings sind ja nicht so toll, aber ich habe leider auch keinen plan, was ich ändern muss...
Rechtschreibung wird noch mal gecheckt...
Aber kannst du mir auch zu meinem eigentlichen anliegen weiter helfen????
 
P

Pixelverwender

Guest

AW: Navigation soll sich auch beim Scrollen ändern

Aber kannst du mir auch zu meinem eigentlichen anliegen weiter helfen????

Wie ich schon schrieb:
Die aktiven Navipunkte werden in Firefox ganz normal aktiviert (blau) angezeigt.
Damit meinte ich natürlich nach dem Anklicken.

Und eben verstehe ich auch erst, was Du eigentlich willst, nämlich die automatische Farbänderung des Navipunktes im Header abhängig von der Scrollposition der HTML-Seite.
Das lässt sich so nicht bewerkstelligen, sorry.
Aber warum muss es unbedingt eine One-Page-Site sein?

ich bin Grafikerin und keine Programmiererin
Zu „Grafikerin“ gehört auch Typografie und HTML/CSS sind keine Programmiersprachen :)
 
Zuletzt bearbeitet von einem Moderator:

Pixinchen

Noch nicht viel geschrieben

AW: Navigation soll sich auch beim Scrollen ändern

also, ich weiß ja nicht... ich habe doch nur eine ganz normale frage gestellt. und jetzt soll ich mich hier für alles rechtfertigen???

Bei mir sieht die Seite gut aus. und auch die Typo passt. keine ahnung was du für nen browser benutzt.
 

Duddle

Posting-Frequenz: 14µHz

AW: Navigation soll sich auch beim Scrollen ändern

Der FF 3 auf Linux unterstützt noch kein HTML5, deshalb sehe ich beispielsweise deine Navigation nicht. Aktuellere Browser sollten das können, aber trotzdem schließt ungewollt du eine Teilmenge an potentiellen Kunden aus - insbesondere weil du keine echten HTML5-Funktionen nutzt, soweit ich das sehen kann.

Ansonsten habe ich mal aus Eigeninteresse dein Problem gelöst, wenn auch sehr schmutzig.

Bei Remy Sharp habe ich ein Mini-Plugin für das Erkennen von sichtbaren Elementen per jQuery gefunden. Das Ding ist von 2009, wahrscheinlich gibt es modernere Alternativen, aber seine Lösung funktioniert. Ich habe es noch etwas angepasst, damit die Navi sich erst ändert wenn das Element ca. 1/3 im Bildschirm ist.
Lade dir von seiner Seite die jquery.inview.js runter und wirf sie in dein js/-Verzeichnis. Optional kannst du jetzt noch die Zeile 40 darin
Code:
if (scrolltop > (top + height) || scrolltop + vpH < top) {
in folgende ändern
Code:
if (scrolltop > (top + height) || scrolltop + vpH -vpH/3 < top) {

Danach musst du jeder "Unterseite" die Klasse inview geben, also bspw.
HTML:
	<div id="page-portfolio" class="inview">
Das machst du für page-home, -portfolio, -aboutme und -kontakt.

Jetzt noch das Herzstück einbauen:
HTML:
<script defer src="js/jquery.inview.js"></script>

<script type="text/javascript" language="javascript" charset="utf-8">
    $(document).ready(function() {

    $('div.inview').bind('inview', function (event, visible) {
	var ueberwachteElemente = $('div.inview');

	ueberwachteElemente.each(function() {
	    vis = $(this).data('inview') || false;
	    if(vis) {
		activeId = $(this).attr("id");
		activeMenuItem = $('nav a[href$="'+activeId+'"]');
	    }
	});
	activeMenuItem.parents('li').siblings('li:has(.active)').find('a').removeClass('active').end().end().end().addClass('active');
    });
});
</script>

Das bindet zuerst das Plugin von Remy ein, dann kommt die jQuery-Logik: er bindet an die div-Elemente mit der Klasse "inview" einen eigenen Event, der immer abgefeuert wird wenn eines der überwachten Elemente (un)sichtbar wird. Immer dann wird geprüft, welches jetzt sichtbar ist und das letzte davon wird in der Navigation als aktiv gekennzeichnet.

Das funktioniert prima in meinen Tests hier lokal.


Abgesehen empfehle ich dir, die Adresse kerstinlohner.de zu registrieren, das ist doch um einiges professioneller als pixinchen.de auf der Visitenkarte :)
Edit: ich sehe, die Variante kerstin-lohner.de ist es schon, habe ich übersehen.


Duddle
 
Zuletzt bearbeitet:

Pixinchen

Noch nicht viel geschrieben

AW: Navigation soll sich auch beim Scrollen ändern

Hallo Duddle,
wow, super! Das hat super geklappt! Sehr, sehr cool ;-) DANKE!!!!!

ja, schon klar, meine seite ist nur für Testzwecke auf pixinchen live. kommt dann schon auf meine richtige url. ;-) -> aber danke für den Hinweis.

ja ich weiß, dass ich noch nciht sonderlich viele html5 tags verwendet habe. aber wie gesagt, es ist meine erste homepage. ich habe jetzt erst mal das gerüst gebaut, und werde sie nach und nach unter der Motorhaube aufpäppeln. ... ;-) Brauchte jetzt aber erst mal eine Version, mit der man live gehen kann.
ich mach natürlich noch ein paar Browser tests. (aber leider muss ich alte browser z.b. ie 6 und 7 ausschließen) ich habe mich bewusst dafür entschieden und denke das geht für meine kundenzielgruppe in Ordnung.

So noch mal 1000 Dank für deine Hilfe!
 
Zuletzt bearbeitet:

owieortho

Aktives Mitglied

AW: Navigation soll sich auch beim Scrollen ändern

Im IE8 wird über der Navigation der Placeholder ie unverarbeitet angezeigt. Ein Script-tag drumrum sollte das beheben.

Und dann auf jeden Fall, wie oben schon erwähnt, validieren. Und erst wenn Du valides Markup hast, wird eine runde Sache daraus.

O
 

Pixinchen

Noch nicht viel geschrieben

AW: Navigation soll sich auch beim Scrollen ändern

owieortho kannst du mir sagen, was für einen script-tag ich verwenden muss?
 

owieortho

Aktives Mitglied

AW: Navigation soll sich auch beim Scrollen ändern

So wie weiter oben bei den anderen Skripten auch, ein Javascript:
HTML:
<script type="text/javascript">....Placeholder ie... </script>

O
 
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

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.487
Neuestes Mitglied
MichaelSEivy
Oben