Our basic animation already reveals a problem. As long as the user is careful about drawing the mouse over and out of the images slowly and avoiding triggering repeated
mouseleave events too quickly, the animations proceed as intended. When the events are triggered quickly and repeatedly, however, we see that the images also grow and shrink repeatedly, well after the last event is triggered. This occurs because, as discussed in Chapter 4, animations on a given element are added to a queue
and called in order. The first animation is called immediately, completes in the allotted time, and then is shifted off the queue. At this point, the next animation becomes first in line, is called, completes, ...