2012-04-15 5 views
3

Ich arbeite an einer Parallax-Site, die ziemlich lang ist (wie 12k Pixel). Ich möchte eine Liste von Scrollpoints erstellen, die meiner Meinung nach die Benutzererfahrung verbessern würde.Erstellen von Punkten auf einer Website, die ich mit der Tastatur scrollen konnte

Was ich glaube, ich brauche: 1) Erstellen Sie ein Array, das von scrollpoints, zum Beispiel 0px 850px 1300px 2000px 2500px (wie es wäre leicht genug bestehen würde, so kann ich verstehen konnte :) 2) auf keydown keyCode == 37 move (animate) zum vorherigen Punkt, auf keyCode == 39 oder keyCode == 32 gehe zum nächsten Punkt 3) Wenn es der erste Scroll-Punkt ist, gehe nicht zum vorherigen, da es nicht existiert, genauso wie zum letzten Scrollpunkt

Kann mir jemand ein bisschen beibringen, wie man den Code schreibt? Es ist das erste Mal, dass ich javascript/jquery (oder Programmierung überhaupt) verwenden werde

+0

Ich verbesserte den Code von @Lazerblade so seinen Crossbrowser, machte auch ein paar kleinere Verbesserungen http://cssdeck.com/labs/swayiqbq/2 – mymlyn

Antwort

2

Kein Plugin erforderlich, obwohl Sie möglicherweise den folgenden Code ändern müssen, um mit Eingabefeldern zu arbeiten, in denen Sie auch die Pfeilnavigation verwenden können.

http://jsfiddle.net/lazerblade01/EDwbg/1/

Sie können die scrolltops zu Animationen leicht genug, um auch konvertieren.

EDIT: Animation zum Scrollen hinzugefügt.

+0

http://jsfiddle.net/jZGsE/ habe ich meine Kommentare hinzugefügt, bekomme ich das richtig? Was macht parseInt in diesem Fall? –

+0

Gibt es einen neuen Link? Ich sehe es nicht so funktionieren, wie ich dachte, du wolltest es. – rgin

+0

Link oben geht immer noch auf den richtigen. Die hinzugefügten Kommentare sind korrekt. Wenn Sie weitere Erläuterungen benötigen, lassen Sie es mich wissen. parseInt konvertiert die stringbasierten Array-Elemente einfach in numerische Werte für den numerischen Vergleich. Das Erstellen eines Arrays mit numerischen Werten schien am besten als Zeichenfolgewerte zu funktionieren, die bei Bedarf in numerische Werte konvertiert wurden. – Lazerblade

0

Ich denke, dass Sie einen Blick darauf werfen sollten, wie Twitter dies in ihrem Bootstrap implementiert. Sie nennen es scrollspy und Sie können Informationen finden Sie hier:

http://twitter.github.com/bootstrap/javascript.html#scrollspy

+0

das ist wirklich nett, ich werde dies für meine navbar verwenden:) –

1

Sie können eine ID zu Ihrem Scroll Punktelemente und die Verwendung dieses jQuery-Plugin, welches auf dem Bildfenster ist zu erkennen befestigen. http://patik.com/blog/within-viewport-javascript-and-jquery-plugin/

Von dort ist es so einfach wie mit .next() und .prev().

Ich werde versuchen, ein Geigenbeispiel hinzuzufügen, sobald ich kann.

EDIT: Leider konnte ich nicht Bullseye auf Geige arbeiten; aber hier ist der Code, wenn Sie es immer noch wollen. Es ist unvollständig, da ich den Rest der Logik Ihnen überlassen möchte. obwohl

http://jsfiddle.net/NMHaW/

Dies sollten Sie auf die richtige Richtung zeigen.

+0

oh ich denke das könnte funktionieren! Ich freue mich auf diese Geige! Ich werde in der Zwischenzeit versuchen, etwas selbst zu tun, aber wahrscheinlich werde ich miserabel versagen. Danke, Mann! –

Verwandte Themen