views:

2852

answers:

2

Hey,

How can I wait till the end of the jQuery function slideUp() before continuing the script?

<script type="text/javascript">
$(document).ready(function() {
 $("div[class=item]").click(function() {
  var id = $(this).attr("id");
  $("#content").slideUp();
  switch(id) {
   // Applications
   case "rampro":
    $("#content").css("text-align", "left");
    $("#content").load("inc/pages/rampro.html");
    $("#content").slideDown();
    break
   case "diskman":
    $("#content").css("text-align", "left");
    $("#content").load("inc/pages/diskman.html");
    break
   case "iconmap":
    $("#content").css("text-align", "left");
    $("#content").load("inc/pages/iconmap.html");
    break
   // Websites
   case "benoks":
    $("#content").css("text-align", "left");
    $("#content").load("inc/pages/benoks.html");
    break
   case "linkbase":
    $("#content").css("text-align", "left");
    $("#content").load("inc/pages/linkbase.html");
    break
   case "jamesbrooks":
    $("#content").css("text-align", "left");
    $("#content").load("inc/pages/jamesbrooks.html");
    break
   default:
    $("#content").css("text-align","center");
    $("#content").html("<h1>something went wrong, try again!</h1>");
  }
  return false;
 });
});

+10  A: 

Use the callback mechanism and have your code run in the callback.

$('#something').slideUp('fast', function() {
   ... stuff to do after the slide is complete...
});
tvanfosson
+2  A: 

slideUp() takes two arguments. If you pass a function as the second argument, it'll be called when the animation is complete.

http://docs.jquery.com/Effects/slideUp

Turnor