Ich habe eine Liste von Bildern, die ich durch Ajax erhalte und dann mit jquery $.each() durchlaufe ich die Bilder und zeige ein Bild nach dem anderen nach einem Intervall von einer Sekunde an. Ich möchte, dass der Benutzer auf eine Stopp-Schaltfläche klicken kann und dass der Benutzer bei einem bestimmten Bild anhalten kann, wenn er möchte. Also muss ich $.each() dynamisch beenden, wenn der Benutzer auf die Stopp-Schaltfläche klickt. Ist es möglich, es zu tun?
wie man eine jquery $.each() dynamisch beendet?
Adel
Sie können verwenden return false
auszubrechen each()
Schleifen früh.
Beispiel:
<script>
$("button").click(function () {
$("div").each(function (index, domEle) {
// domEle == this
$(domEle).css("backgroundColor", "yellow");
if ($(this).is("#stop")) {
$("span").text("Stopped at div index #" + index);
return false;
}
});
});
</script>
Quelle: http://api.jquery.com/each/
-
Sobald ich die Daten durch einen Ajax-Aufruf erhalten habe, übergebe ich die Daten an eine Funktion show_images (data) { if ($ (‘#stop’). is (‘:visible’)) { return false; }else{ //nächstes Bild anzeigen } } $(“.stop”).click(function(){ $(“#stop”).hide(); }); Das funktioniert nicht
– Petrus
4. Juni 2010 um 11:47 Uhr
-
Aber Sie müssen zurückkehren
false
. Sie können nicht vorzeitig zurückkehrentrue
.– Jess
2. Juni 2014 um 20:14 Uhr
Aus einem ausbrechen each()
Schleife würden Sie:
return false;
Ihre Schaltfläche könnte also eine Variable setzen, wenn sie angeklickt wird, die jede Schleife jeden Durchgang überprüft, und dann falsch zurückgibt, wenn die Variable gesetzt ist.
Wir können die Schleife innerhalb der Callback-Funktion stoppen, indem wir false zurückgeben.
return(false);
Sollte es tun.
Riffy
Verwenden return false;
zwischen jeder Schleife.
Wie wäre es mit einem Codebeispiel?
– Jerik
4. Juni 2010 um 10:44 Uhr