Well, as I said, if the show(100) comes first, it shouldn't matter if it goes into the queue or not. There should be no queue yet.
With jQuery though it's helpful to play around. The order in which things are done often plays a role. The dequeue() function may only effect the queue for the selected element(s). If so, you may have to include the other elements that you will be animating later and exclude them for the .show() - something like:
Code:
$("li.il2").animate({backgroundPosition: '0 -17px'}, {queue: false});
$("li.il2, #balloon").dequeue().filter("#balloon").show(100);
Or:
Code:
$("li.il2, #balloon").dequeue().filter("#balloon").show(100);
$("li.il2").animate({backgroundPosition: '0 -17px'}, {queue: false});
Or various other possibilities, here's one:
Code:
$("li.il2").animate({backgroundPosition: '0 -17px'}, {queue: false});
$("li.il2").dequeue();
$("#balloon").show(100);
Also, from the dequeue man page's comments section:

Originally Posted by
Thamus
. . . The information to be gained by reading this vague piece of documentation confines itself to the mere fact that there is a method called .dequeue(), which can be used to alter the effect chaining behavour.
I had to take a look at the jQuery source to understand what it is actually good for.
Perhaps you should. When I have more time I probably will.
Bookmarks