Μέθοδος stop
Η μέθοδος stop μας επιτρέπει να διακόψουμε αμέσως
μια εκτελούμενη κινούμενη εικόνα. Η κινούμενη εικόνα θα συνεχίσει
από την επόμενη συνάρτηση χωρίς να ολοκληρωθεί η προηγούμενη.
Σύνταξη
Έτσι διακόπτουμε μια εκτελούμενη κινούμενη εικόνα. Μπορούν να μεταβιβαστούν
δύο προαιρετικές παράμετροι, που δέχονται Boolean
τιμές. Εάν η πρώτη παράμετρος οριστεί ως true,
τότε οι υπόλοιπες συναρτήσεις στην ουρά της κινούμενης εικόνας θα διαγραφούν και
δεν θα εκτελεστούν ποτέ. Εάν η δεύτερη παράμετρος οριστεί σε
true, τότε κατά τη διακοπή της κινούμενης εικόνας οι css-ιδιότητες
του στοιχείου θα λάβουν αμέσως τις τελικές τους τιμές (δηλαδή,
εάν ο στόχος ήταν να εξαφανιστεί το στοιχείο σταδιακά, τότε θα εξαφανιστεί
αμέσως):
.stop([clearQueue], [jumpToEnd]);
Μπορεί επίσης να μεταβιβαστεί μια προαιρετική παράμετρος, στην οποία καθορίζεται το όνομα της ουράς:
.stop([όνομα ουράς], [clearQueue],[jumpToEnd]);
Η κινούμενη εικόνα μπορεί να απενεργοποιηθεί καθολικά, χρησιμοποιώντας τη ρύθμιση
jQuery.fx.off = true,
η οποία ορίζει την τιμή της διάρκειας σε 0.
Παράδειγμα
Ας κάνουμε έτσι ώστε με κάθε κλικ στο
κουμπί #toggle το ορθογώνιό μας
να αναπτύσσεται και να συμπτύσσεται με τη βοήθεια της μεθόδου
slideToggle.
Πατήστε στο κουμπί, χωρίς να περιμένετε την ολοκλήρωση
της κινούμενης εικόνας - το επόμενο στάδιο θα ξεκινά, χωρίς
να περιμένει την ολοκλήρωση του προηγούμενου, χάρη στην
μέθοδο stop:
<button id="toggle">toggle</button>
<div id="test"></div>
#test {
background-color: green;
border: 1px solid black;
width: 200px;
height: 100px;
margin: 10px;
}
$('#toggle').on('click', function() {
$('#test').stop().slideToggle(1500);
});
Δείτε επίσης
-
μέθοδος
clearQueue,
που επιτρέπει τη διαγραφή όλων των μη εκτελεσμένων στοιχείων από την ουρά συναρτήσεων -
ιδιότητα
jQuery.fx.off,
που επιτρέπει την καθολική απενεργοποίηση της κινούμενης εικόνας