},
queue: function( elem, type, data ) {
- if( !elem ) return;
+ if ( !elem ) { return; }
type = (type || "fx") + "queue";
var q = jQuery.data( elem, type );
// Speed up dequeue by getting out quickly if this is just a lookup
- if( !data ) return q || [];
+ if ( !data ) { return q || []; }
- if ( !q || jQuery.isArray(data) )
+ if ( !q || jQuery.isArray(data) ) {
q = jQuery.data( elem, type, jQuery.makeArray(data) );
- else
+ } else {
q.push( data );
-
+ }
return q;
},
var queue = jQuery.queue( elem, type ), fn = queue.shift();
// If the fx queue is dequeued, always remove the progress sentinel
- if( fn === "inprogress" ) fn = queue.shift();
+ if ( fn === "inprogress" ) { fn = queue.shift(); }
- if( fn ) {
+ if ( fn ) {
// Add a progress sentinel to prevent the fx queue from being
// automatically dequeued
- if( type == "fx" ) queue.unshift("inprogress");
+ if ( type == "fx" ) { queue.unshift("inprogress"); }
fn.call(elem, function() { jQuery.dequeue(elem, type); });
}
if ( value === undefined ) {
var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
- if ( data === undefined && this.length )
+ if ( data === undefined && this.length ) {
data = jQuery.data( this[0], key );
-
+ }
return data === undefined && parts[1] ?
this.data( parts[0] ) :
data;
- } else
+ } else {
return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function(){
jQuery.data( this, key, value );
});
+ }
},
removeData: function( key ){
type = "fx";
}
- if ( data === undefined )
+ if ( data === undefined ) {
return jQuery.queue( this[0], type );
-
+ }
return this.each(function(i, elem){
var queue = jQuery.queue( this, type, data );
- if( type == "fx" && queue[0] !== "inprogress" )
- jQuery.dequeue( this, type )
+ if ( type == "fx" && queue[0] !== "inprogress" ) {
+ jQuery.dequeue( this, type );
+ }
});
},
dequeue: function(type){
jQuery.dequeue( this, type );
});
},
+
+ // Based off of the plugin by Clint Helfers, with permission.
+ // http://blindsignals.com/index.php/2009/07/jquery-delay/
+ delay: function( time, type ) {
+ time = jQuery.fx ? jQuery.fx.speeds[time] || time : time;
+ type = type || "fx";
+
+ return this.queue( type, function() {
+ var elem = this;
+ setTimeout(function() {
+ jQuery.dequeue( elem, type );
+ }, time );
+ });
+ },
+
clearQueue: function(type){
return this.queue( type || "fx", [] );
}