2011-11-21 2 views
19

私はjQueryのでは、コードのこのsnipletを持っているよう無駄のsetTimeout呼び出し(引数の前後に引用符が不足して?)

$element.parent().children().last().hide().show('slide', {direction : 'left'}, 700, function() { 
    $element.delay(2000, function() { 
     $element.parent().children().last().hide('slide', {direction: 'left'}, 700);    
     reload_table(question_number); 
     //delay ends here 
    }); 
}); 

delayが宣言されています。

useless setTimeout call (missing quotes around argument?)

:私はエラーを取得する今

jQuery.fn.delay = function(time,func){ 
    return this.each(function(){ 
     setTimeout(func,time); 
    }); 
}; 

FF3.x、Firefox 6+は問題ありません。その上の任意のアイデア?なぜこれが起こっているのでしょうか?

答えて

7

すでにjQueryメソッドdelayが存在し、パラメータとして関数ではなく文字列(queueName)が必要です。 競合を避けるために、遅延メソッドの別の名前を選択してください。

+0

申し訳ありませんが、それはそれを修正しませんでした – kosta5

+16

なぜこれが解決されなかった場合、これが受け入れられた答えですか? –

+2

それは謎です... – Tebe

-2

問題は、Firefox 3でそれが正しく=>要素は完全に木では省略され、無視されたいくつかの要素処理していないでした - >ので、私のオリジナル問題を

誰かがこの質問時につまずくとあれば参考まで
+5

非常に役に立たず、望ましくない答えです。 – Cyprus106

7

可能な答えを探しています。私はsetTimeout引数の順序を混ぜていたので、最初のポスターと全く同じエラーメッセージが出ました。

この:

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

は...私はエラーメッセージを与えました。私はこれに機能を変更しました:

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

私の問題は解決しました。

17

私は

setTimeout(updateStatus(), 5000); 

代わりの

setTimeout(updateStatus, 5000); 
+0

OPは既にメソッドを正しく呼び出しています!これは問題ではありません。彼はすでに最初の引数で関数へのポインタを渡しています。 – gcb

10

を書いたとき、私はwsbaserに同意同じエラーを得ました。私は、関数に情報を渡すために必要な追加のインスタンスを持っていて、使用簡略化のために:

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

引数が機能していない呼び出される関数であることが必要です。 Firefoxがこのエラーを受け取りました。

関連する問題