0

myFunctionにパラメーターを渡そうとしていますが、jQuery関数内にあるため、問題が発生しているようです。任意のヒント?

//this works fine
myFunction(1);

//this doesn't work fine!
$('myObj').fadeOut(1000, myFunction(1));
4

3 に答える 3

1

少し過剰かもしれませんが、コールバックで関数を呼び出してみましたか?

$('myObj').fadeOut(1000, function() {
    myFunction(1);
});
于 2012-05-10T14:55:05.747 に答える
0

http://api.jquery.com/fadeOut/から

コールバック関数に引数を送信する場合は、パラメーター化された関数を呼び出す新しい無名関数を定義できます。例えば:

var pageUrl = generateNextPageUrl(); $(“#content”)。fadeOut(1000、function(){refreshContent(pageUrl)});

匿名関数の定義がないと、フェードアウト効果が終了するのを待たずに、想定されるコールバックがすぐに(原文のまま)呼び出されました。

于 2012-05-10T14:57:06.600 に答える
0

関数の参照を渡す必要があります

$('myObj').fadeOut(1000, myFunction);

ただし、コールバック関数にはパラメータが送信されないため、パラメータを別の場所に設定する必要があります。例えば:

var time = 1;
function myFunction(){
    time += 1 // do anything you want with the parameter
}
于 2012-05-10T14:58:13.387 に答える