Break the .delay()
by wasikuss
HTML
<button onclick="start()">Start</button>
<button onclick="breakTheDelay()">Can't wait!</button>
<div class="gfx"></div>
CSS
.gfx
{
background: red;
width: 0;
height: 10px
}
JavaScript
//this is only for make sure that we skip 'delay', not other function
var inDelay = false;
function start()
{
$('.gfx').animate
({
width: 100
}, function(){inDelay = true}).delay(3000).animate
({
width: 0
}, function(){inDelay = false})
}
function breakTheDelay()
{
if(inDelay)
{
$('.gfx').dequeue();
}
}
//
// version without 'inDelay' check only if you know what are you doing
// http://jsfiddle.net/wasikuss/hkw9H/
//