2017-07-22 4 views
0

Ich arbeite mit superslides und ich versuche, einige benutzerdefinierte Effekte auf die Animationen hinzuzufügen.jquery slider - verhindern Standard-Ereignis auf einem Schieberegler

Ich habe versucht, so wie dies zu tun:

  • auf beforeChange Ereignis, ich will die Ausbreitung der Veranstaltung, stoppen so dass der Schieber doesnt ändern.

  • , dann hier, ich schreibe meine Funktion, die Elemente zu animieren, die im Inneren des Schiebers

  • einmal diese Animationen sind getan, ich dann weitermachen und manuell schieben Sie das nächste Element

Der Grund, warum ich mich dazu entschieden habe, war, weil ich die automatische Wiedergabe brauche, um zu arbeiten, und das war die einzige Idee, die ich mir vorstellen konnte.

Der Code, den ich bisher habe, ist die folgende:

var slider; 

slider = $('.home-page-banner'); 

slider.superslides({ 
    play: 5000 
}); 

slider.on('animating.slides', function(evt) { 
    // tried all of the three below 
    evt.preventDefault(); 
    evt.stopPropagation(); 
    return slider.superslides('stop'); 
    console.log(slider.superslides('next')); 
    slider.superslides('animate', slider.superslides('current')); 
    return slider.superslides('stop'); 
}); 

example on codepen

aber leider funktioniert es nicht, wie ich möchte. Der Schieberegler erkennt die Änderung, löst das Ereignis aus, ändert die Folie und stoppt erst dann.

Irgendwelche Hilfe, wie man das richtig erreicht?

dank

+1

Warum verwenden Sie nicht die Wiedergabe-Option .. play [Nummer] Millisekunden, bevor Sie automatisch zur nächsten Folie fortfahren. Verwenden Sie einen falschen Wert zum Deaktivieren. – Shiladitya

+0

Ich probiere das im Moment aus, deaktiviere die automatische Wiedergabe, setze mein benutzerdefiniertes Timeout so, dass es sich ziemlich genau so verhält, aber ich sollte ein bisschen mehr Kontrolle darüber haben, wann ich die Folie wechseln soll – Nick

+0

Sieh dir das an ... https://github.com/nicinabox/superslides/blob/0.6-stable/examples/play.html – Shiladitya

Antwort

1

preventDefault und stopPropagation wird nicht funktionieren. Verwenden Sie die benutzerdefinierten Schaltflächen Next und Previous und schreiben Sie Funktionen auf sie. Überprüfen Sie this pen Ich gabelte Ihren Stift und änderte es, um Ihren Bedürfnissen zu entsprechen. Beginnen Sie mit dem nächsten Klick, ich habe animate verwendet, um eine einfache Animation zu erstellen.