Sample jquery. Assume $cog is a cached selector of multiple items.
$cog.fadeOut('slow',function(){
    alert('hey');
})
In that example, of $cog is a jQuery object of 4 DOM elements, the above wil开发者_Go百科l fade each element out one by one, and trigger an alert each time on the callback (4 alerts).
I'd like to only call the alert when all 4 elements are done with their fadeOut function.
This:
$cog.fadeOut('slow',function(){
})
alert('hey');
when run, will show an alert, then the $cog elements disappear (I'm guessing due to timing issues with the fadeOut animation)
Is there a way when calling a function against multiple DOM objects in a jQuery object to know when it's done with the last item?
You can simply count the callbacks back in.
Try this:
var remaining=$cog.length;
$cog.fadeOut('slow',function(){
    if((--remaining)==0)alert('hey');
})
Try this example:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
  var items = $("li");
  $("#btn").click(function() {
    (function() {
      var items = $("li");
      items.fadeOut("slow", function() {
        items = items.not(this);
        console.log(items.length);
        if (items.length == 0) {
          alert("all done");
        }
      });
    })();
  });
});
</script>
<style type="text/css">
</style>
</head>
<body>
<input type="button" id="btn" value="Fade Out">
<ul>
  <li>one</li>
  <li>two</li>
  <li>three</li>
</ul>
</body>
</html>
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论