0

これが私のコードです:-

function myFunction1()
{
current && aus[current].animate({fill: "#fff", stroke: "#999"}, 200) && (document.getElementById(current).style.display = "");
st.animate({fill: "#ccc", stroke: "#000"}, 200);
R.safari();
document.getElementById(state).style.display = "block";
current = state;
}

function myFunction2()
{
st.animate({fill: "#fff", stroke: "#999"}, 200);
R.safari();
document.getElementById(state).style.display = "";
}

setInterval(function() {
myFunction1();
alert("MOVE"); 
myFunction2();
}, 2000);

私がやっていることは、時間に関して2つの関数を段階的に実行することでした...だから、setIntervalイベントを使用しました.raphaeljsコードmyFunction1()のパスの色とストロークの外観を表示する関数であり、パスの色とストロークの外観を非表示...myFunction2()

しかし、これらの関数をそのように呼び出すと、どのように機能します...関数間の警告で結果が表示される場合がありますが、私が望んでいたように、これを修正する方法???

4

2 に答える 2

2

あなたの場合、アニメーション関数は並行して実行されます。

それらを順次実行するには、f1 のコールバックで f2 を実行する必要があります。

以下の構造例でコードを書き直してみてください。

 st.animate({fill: "#ccc", stroke: "#000"}, 200,function(){
  myFunction2();
});
于 2012-07-02T11:55:31.513 に答える
1

これを試してください:

var intervalFunctions = [ myFunction1, myFunction2 ];
var intIndex = 0;

window.setInterval(function(){
  intervalFunctions[intIndex++ % intervalFunctions.length]();
}, 2000);

また

function1() {

      ....

  function2() //<<========== call here once function1() is executed 
}

function2() {

     ....
}

画像ビクトリアとタスマニア ビクトリア

ここに画像の説明を入力

タスマニア

ここに画像の説明を入力

于 2012-07-02T11:55:41.140 に答える