2012-04-12 9 views
1

Ich verwende jQuery Cycle für ein Projekt. Sie können mein Skript at pastebin sehen.Mehrere Schieberegler mit jQuery-Zyklus synchronisieren

Grundsätzlich gibt es drei verschiedene Schieberegler, die an die gleichen Richtungssteuerungen gebunden sind. Ich möchte, dass ihre Übergänge synchronisiert werden.

So wie es steht, da es hier drei separate Slider-Instanzen gibt, beginnen sie synchron, aber manchmal fallen sie nicht mehr synchron, wenn Sie das Browser-Fenster oder etwas verlassen. Dies bewirkt, dass die Sequenzen außer Betrieb gehen und im Allgemeinen abstürzen. Ich möchte, dass alle Schieber genau zur selben Zeit feuern, vorzugsweise verbunden mit den .sliderImages Objektträgern.

Ich habe versucht, eine Funktion zu schaffen, die die anderen beiden Schieber enthält und dass auf dem .sliderImages Schieber in der before Option setzen, aber das macht es alles wackelig gehen und ich weiß nicht genug JS Lage sein, zu beheben.

Wie immer wird jede Hilfe geschätzt.

Danke!

+1

Setzen Sie alle auf 'timeout: 0' und' setInterval ($ ('. Slides'). Cycle ('next') ", 3000);' scheint die Animationen zu synchronisieren, aber es stört die vorherigen/nächste Foliennavigation. – bigsweater

+0

[Ich habe es fast schon] (http://pastebin.com/djtYwA0r). Die Folien werden ordnungsgemäß synchronisiert und die Show wird beim Hover angehalten. Wenn die Maus den '.hero' Bereich verlässt, stimmt etwas nicht. Anstatt die Diashow einfach fortzusetzen, scheint es, als ob sie die Geschwindigkeit auf jeder zweiten Folie oder etwas in dieser Richtung verdoppelt. Ich bin mir sicher, dass ich die Javascript-SetInterval-Funktionalität einfach falsch verstehe. jede Hilfe wird geschätzt. [Ich habe das versucht] (http://forum.jquery.com/topic/jquery-cycle-plugin-synchronized-slideshows-with-pause-on-hover), konnte es aber nicht zum Laufen bringen. – bigsweater

Antwort

1

Nachdem ich meinen Kopf eine Weile an die Wand geschlagen hatte, stolperte ich über Ryan Florence's jQuery Slideshow. Es ist viel (viel, viel) leichter als Cycle oder so ziemlich jedes andere Slideshow-Plugin, das ich ausprobiert habe (auch wenn es jQuery UI benötigt), es ist gut dokumentiert und relativ einfach zu sehen und funktioniert wie gewünscht.

Es gibt eine thread on his slideshow Github page, wo er mir geholfen hat, den Code richtig zu arbeiten, zusammen mit einem link to the final code.

Natürlich, wenn jemand Vorschläge hat, meinen Code zu verbessern, bin ich offen für sie. Aber dieses Plugin ist so einfach und vielseitig wie sie kommen.

Vielleicht ein talentierter Programmierer, als ich es Mobilfreundlich machen könnte, wie Flexslider ...

0

Wenn Sie (Fenster) .load Funktion den jquery Zyklus zum Laden und Verwenden von zwei verschiedenen Selektoren mit dem gleichen Optionen, dann sollten Sie zwei Schieberegler perfekt synchron sein.

Ich nehme an, das Timing wäre ausgeschaltet gewesen, wenn Sie sie als zwei separate Eingänge geladen haben und auch wenn Sie sie bereit geladen haben.

Wie auch immer, es funktioniert für mich.

+0

Es ist eine Weile her, dass ich dies gebaut habe, aber soweit ich mich erinnere, habe ich versucht, zwei verschiedene Selektoren auf derselben Init zu verwenden, und sie würden schließlich nicht mehr synchron sein. Außerdem habe ich versucht, einen anderen Übergang für jeden Slider zu verwenden, was die Verwendung einer einzelnen Init für mich schwieriger machte (obwohl ich kein JS-Experte bin, also könnte es eine einfache Lösung dafür geben). – bigsweater

+0

Es sollte auch beachtet werden, dass die neueste Version von FlexSlider jetzt ähnliche Play/Pausen-Hooks bietet, so dass Sie mit setTimeout auch zwei (oder mehr) Slider mit unterschiedlichen Übergängen synchronisieren können.Als ich diese Website erstellte, war FlexSlider in dieser Hinsicht ziemlich eingeschränkt. (Obwohl Sie immer noch keine eigenen Übergänge erstellen können ...) – bigsweater

Verwandte Themen