Swipe JS: Leichtgewichter Slider für Touch-Devices

Swipe JS ist ein leichtgewichtiges Slider-Skript, das den aus nativen Apps gewohnten Slide-Effekt beim „Swipen” nachahmt. Per Wische-Geste kann man so z.B. zwischen mehreren Bildern navigieren, wobei das Bild quasi am Finger „klebt”. Das Skript hat keine Abhängigkeiten zu anderen JavaScript-Bibliotheken.

Swipe is a lightweight mobile slider with 1:1 touch movement. 1:1 touch movement is sliding content based on exact touch position. It’s a different level of interacting with the content, more intuitive than swiping left to right and then watching the slider move to the proper position.

Swipe Beispiel

Ausprobieren kann man den Slider auf einem mobilen Device mit dem mitgelieferten Beispiel.

Swipe und jQuery Mobile

Ich habe ein weiteres Beispiel erstellt, dass Swipe JS in jQuery Mobile verwendet. Da jQuery Mobile standardmäßig beim Laden einer weiteren Seiten nur den Inhalt des Page-Containers einbindet (und nicht den Inhalt des HTML-Head!), ist die Integration etwas schwieriger als in einer normalen Seite. Man muss die Skripte etwas anders einbinden, damit es sowohl funktioniert, wenn man die Seite direkt aufruft, als auch wenn sie nachgeladen wird.

Anschauen kann man es sich über dieses Beispiel: Seite 1 und Seite 2

[js]
$(document).ready(function() {

// Dieser Aufruf sollte laut jQM-Doku eigentlich nicht nötig sein, fkt sonst aber nicht:
loadSwipe();

$( ‚#sliderPage‘ ).live( ‚pageinit‘,function(event){
loadSwipe();
});

function loadSwipe() {
$.getScript(„swipe.js“, function(data, textStatus, jqxhr) {
console.log(textStatus); //success
document.slider1 = new Swipe(document.getElementById(’slider1′));
});
}

});

[/js]

Das Beispiel lädt beim Aufrufen der Seite mit der ID sliderPage zunächst die swipe.js-Datei und verknüpft danach die Variable slider1 mit dem entsprechenden DOM-Element.

Allerdings gibt es laut Bugtracker in Verbindung mit jQuery Mobile noch einige Bugs, so dass jQuery Mobile wohl erst in der nächsten Version offiziell unterstützt wird. Man sollte sich dies also vorher nochmal genau anschauen, wenn man diese Kombination nutzen möchte.

Link: Swipe JS (Github)
Link: Swipe JS – a lightweight mobile web slider
Link: Scripting Pages in jQuery Mobile

[ad]

3 Gedanken zu „Swipe JS: Leichtgewichter Slider für Touch-Devices“

  1. Ich habe noch eine weitere Funktion implementiert. Sie heißt setPos und springt automatisch zur angegebenen Position.

    Code:

    setPos: function(pos) {

    this.slide(pos, this.speed); //send you to the given position
    },

  2. Hallo,
    ich habe mal versucht dieses tolle Beispiel nachzubauen. Allerdings wird nur die erste Seite angezeigt, das weiterblätteren geht weder auf dem desktop noch auf Samsung Note2. Um Tipfehler zu vermeiden, habe ich testweise die Beispielseite auf meine Seite kopiert. Bei der Fehleranzeige im Firefox komt die Fehlermeldung:
    Fehler: TypeError: slider1.next is not a function
    Quelldatei: http://hsg.quurck.de/2013/org.html
    Zeile: 1
    Fehlt beim provider noch irgend was? Lokal habe ich die Seiten auf xamp kopiert mit dem gleichen Fehler. Danke im Vorraus

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert