cómo salir dinámicamente de un jquery $.cada()?
Tengo una lista de imágenes que estoy obteniendo a través de ajax y luego usando jquery $.cada () loop a través de las imágenes y mostrar una imagen después de la otra después de un intervalo de un segundo. Quiero que el usuario pueda hacer clic en un botón de parada y para que el usuario pueda detenerse en una imagen en particular si lo desea. Así que necesito salir dinámicamente $cada () cuando el usuario hace clic en el botón detener. ¿Es posible hacerlo?
5 answers
Puedes usar return false
para romper los bucles each()
antes.
Ejemplo:
<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>
Fuente: http://api.jquery.com/each/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-24 06:11:39
Para salir de un bucle each()
usted:
return false;
Por lo que su botón podría establecer una variable cuando se hace clic que el bucle cada comprueba cada paso, luego devuelve false cuando se establece la variable.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-06-04 10:46:02
Podemos detener el bucle desde dentro de la función callback devolviendo false.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-06-04 10:45:26
return(false);
Debería hacerlo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-06-04 10:44:56
Use return false;
entre cada bucle.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-10 18:52:53