Ich verwende this Codrops Blueprint, um einen Zitatsendreher zu erstellen. Ich änderte den Rotator eine nächste Taste haben, unten durch den Code angetrieben:Ich habe Probleme mit ClearTimeout() auf einem Zitatrotator
_startRotator: function() {
if (this.support) {
this._startProgress();
}
var timeout = setTimeout($.proxy(function() {
if (this.support) {
this._resetProgress();
}
this._next();
this._startRotator();
}, this), this.options.interval);
$(".testimonial-next").click($.proxy(function() {
clearTimeout(timeout);
if (this.support) {
this._resetProgress();
}
this._next();
this._startRotator();
}, this));
},
ich die .click Funktion unterhalb der setTimeout-Funktion hinzugefügt, und hinzugefügt, um die var auf die setTimeout-Funktion.
Wenn .testimonial-next angeklickt wird, wird der Timer des Rotators zurückgesetzt und der Code im Timer wird sofort ausgeführt. Soweit ich das beurteilen kann, startet der Timer sich selbst neu, also sollte ich keinen Code hinzufügen müssen, um dies zu tun.
Auf the website where this is put to use (siehe Abschnitt "Testimonials") scheint jedoch ein Problem zu bestehen. Es sollte fünf Zitate geben, in der Reihenfolge Kim, Lynn, Shannon, Jennifer und Chris. Wenn der Timer ohne Unterbrechung läuft, funktioniert alles wie erwartet. Wenn Sie auf die Schaltfläche Weiter klicken, werden bestimmte Anführungszeichen übersprungen. In anderen Fällen hören die Kurse auf, sich zu drehen oder sich mit hoher Geschwindigkeit zu drehen.
Was mache ich falsch?
Danke. Ich bin überhaupt nicht vertraut mit jQuery, und es fällt mir schwer zu verstehen, wie dieser Code funktioniert. Wenn ich [dies] (http://pastebin.com/raw/s5B3E9fg) mache, läuft die gesamte Datei nicht und bricht die Testimonials. – Joshua
Es macht keinen Sinn, einen Click-Handler in der _skip-Methode anzuhängen. Setzen Sie es in den Konstruktorcode. Wenn zum Beispiel '_init()' eine Methode ist, die Sie erstellt haben, dann fügen Sie sie dort ein. – trincot
A schaffte es, es zu bewegen. Danke für die Hilfe. – Joshua