So weit wie ich sehen kann twitter Bootstrap nicht aussetzen, in welche Richtung das Karussell über das Event-Objekt bewegt. Es fügt jedoch den Elementen, die an der Folie beteiligt sind, eine "rechte" oder "linke" Klasse hinzu.
Also im Grunde sehe ich 2 Optionen. Zeigen Sie die Richtung im Ereignisobjekt an, oder suchen Sie nach der rechten oder linken Klasse für die Elemente.
Option 1:
Sie das Bootstrap-Karussell Code zu ändern haben. In dem Karussell, schiebt Funktion ändern:
e = $.Event('slide')
zu
e = $.Event('slide', {direction: direction})
(um die Linie 337-340 in der normalen Version von bootstrap.js)
und dann können Sie die Richtung zu bekommen, so etwas wie dieses:
var $carousel = $('.carousel');
$carousel.carousel();
$carousel.bind('slide', function(e) {
console.log("e.direction = " + e.direction);
});
OR Option2:
Warten Sie einige Zeit, bis die CSS-Klasse "left" oder "right" zum Element hinzugefügt wurde und prüfen Sie, ob diese Klasse vorhanden ist.
Die Zeitüberschreitung ist erforderlich, da zwischen dem Zeitpunkt, zu dem das Ereignis ausgelöst wird und der Einstellung der linken rechten Klasse eine Wettlaufsituation besteht. Offensichtlich ist dies eine Hacker-Lösung, aber Sie müssen den Bootstrap-Code nicht ändern. Es gibt wahrscheinlich auch andere Optionen, aber ich denke, dass Option 1 die beste ist.
Edit: In der neuesten Version von Bootstrap CSS (2.1.1) Die Zeilenwechsel für Option 1 wären:
(Linie 340) aus:
, e = $.Event('slide', {
relatedTarget: $next[0]
})
zu:
, e = $.Event('slide', {
relatedTarget: $next[0],
direction: direction
});
Danke, Option 1 schön gearbeitet! – William
Nur für den Fall, dass jemand über diese alte Frage stolpert - das scheint nicht mehr der Fall zu sein. Das Ereignis "Folie" enthält jetzt die Richtung. –
Können Sie Ihre Antwort bitte für Bootstrap-Version 3.1.1 aktualisieren? –