Skip to content Skip to sidebar Skip to footer

Useless Settimeout Call (missing Quotes Around Argument?)

I have this sniplet of code in jQuery $element.parent().children().last().hide().show('slide', {direction : 'left'}, 700, function () { $element.delay(2000, function() {

Solution 1:

I got same error when I wrote

setTimeout(updateStatus(), 5000);

instead of

setTimeout(updateStatus, 5000);

Solution 2:

I agree with wsbaser. I had the additional instance of needed to pass information to the function, and for simplicity used:

setTimeout(function(){ updateStatus(myData) } , 5000);

The argument needs to be a function and not a function being called. Firefox caught this error, chrome let it go.

Solution 3:

Just for reference if someone stumbles upon this question and is looking for a possible answer. I got the exact same error message as the initial poster because I was mixing up the setTimeout arguments order.

This:

setTimeout(25, function(){
    spotlight.intro.find('#intro').ellipsis();  
});

... gave me the error message. I changed the function to this:

setTimeout(function(){
    spotlight.intro.find('#intro').ellipsis();
}, 25);

And my problem was solved.

Solution 4:

There already exists a jQuery-method delay and it expects a string(queueName) and not a function as parameter. Choose another name for your delay-method to avoid conflicts.

Solution 5:

The problem was in Firefox 3. It is not handling some elements properly => Element is completely omitted in the tree and ignored -> hence my original problem

Post a Comment for "Useless Settimeout Call (missing Quotes Around Argument?)"