fadetoggle - jquery effects
Cómo llamar a una función después de un fadeOut() en muchos elementos (2)
Puede usar el método promise() para esto (la página doc tiene un buen ejemplo para esto).
El método .promise () devuelve una Promesa generada dinámicamente que se resuelve una vez que todas las acciones de un cierto tipo vinculadas a la colección, en cola o no, hayan finalizado.
Aplicado a tu ejemplo debería ser algo como esto:
$.when($(''.hotel_photo_select'').fadeOut(500))
.done(function() {
alert("Now all ''.hotel_photo_select are hidden''");
});
Tengo este codigo
$(''.hotel_photo_select'').fadeOut(500, function () {
alert("Now all ''.hotel_photo_select are hidden''");
});
y me gustaría llamar a esa alerta solo cuando TODOS .hotel_photo_select
están desactivados (por lo tanto, Oculto).
¿Cómo puedo hacerlo? Con mi código se llama a la alerta después de que el primer elemento se desvanece ...
Usando jQuery $.when().then()
funciona.
$(document).ready(function(){
// using When & then methods.
$.when($(''.box'').fadeOut())
.then(function(){
alert("All Boxes : Faded Out.");
});
});
.box{
color: white;
background-color: red;
width: 100px;
height: 100px;
text-align: center;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<html>
<head>
<title>Calling Alert After fadeOut</title>
</head>
<body>
<div class="box">Box 1</div> <br />
<div class="box">Box 2</div> <br />
<div class="box">Box 3</div> <br />
<div class="box">Box 4</div> <br />
<div class="box">Box 5</div>
</body>
</html>