1

これは本当に単純なはずですが、何が欠けているのかわかりません。フェードアウトし、テキストを変更してからフェードインしたい DIV があります。

それはある程度機能しますが、チェーンが正しいと思っていましたが、テキストの更新、フェードアウト、フェードインを行います。

ここに基本的なコードがあります

<div id="box" style="width:300px;height:200px;background-color:yellow">
    <span id="game">Game 1</span>
    <br/>
    <a href="javaScript:ChangeGame()">Next Game</a>
</div>

window.game = 1;

window.ChangeGame = function ()
{
    $("#box")
        .fadeOut(1000, nextGame()).fadeIn();

}

window.nextGame = function() {
    $("#game").text("Game " + game++);
}

そして、ここに問題を示すjsFiddleがあります

http://jsfiddle.net/mdq6f/4/

助けてくれてありがとう親切な人々

4

3 に答える 3

3

nextGame()に変更nextGame:

$("#box")
    .fadeOut(1000, nextGame).fadeIn();

関数を指すだけでなく、関数を直接呼び出していました。

いくつかの引数を提供する必要がある場合はnextGame、無名関数にラップする必要があります。

$("#box")
    .fadeOut(1000, function() { 
        nextGame(/* enter arguments as you wish */); 
    })
    .fadeIn();
于 2013-08-11T21:55:50.467 に答える
1

使用する

$("#box").fadeOut(1000, nextGame).fadeIn();

それ以外の

$("#box").fadeOut(1000, nextGame()).fadeIn();

using nextGame()in callback は、fadeIn の完了後に呼び出される関数を渡すのではなく、上記の行を実行するとすぐに関数を呼び出します。

于 2013-08-11T22:01:45.793 に答える
1
window.ChangeGame = function () {
    $("#box").fadeOut(1000, nextGame).fadeIn(1000);
}

あなたが望むことを行い、フェードインとフェードアウトを同じ速度で実行します。

于 2013-08-11T22:02:32.513 に答える