依次使用Jquery运行两个javascript函数

依次使用Jquery运行两个javascript函数,javascript,jquery,raphael,setinterval,Javascript,Jquery,Raphael,Setinterval,这是我的密码:- 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.get

这是我的密码:-

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);
我正在做的事情是根据时间一步一步地执行两个函数。。。因此,我使用了setInterval事件,
myFunction1()
是一个显示raphaeljs代码路径的颜色和笔划外观的函数,
myFunction2()
是一个隐藏路径的颜色和笔划外观的函数


但是当像那样调用这些函数时,它是如何工作的。。。函数之间的警报可能会显示结果,但不是我想要的那样,如何解决此问题?

在您的情况下,动画函数以并行方式运行

要让它们按顺序运行,必须在f1的回调中运行f2

试着用下面的结构重写你的代码 例如:

 st.animate({fill: "#ccc", stroke: "#000"}, 200,function(){
  myFunction2();
});

在您的情况下,动画功能以并行方式运行

要让它们按顺序运行,必须在f1的回调中运行f2

试着用下面的结构重写你的代码 例如:

 st.animate({fill: "#ccc", stroke: "#000"}, 200,function(){
  myFunction2();
});
请试试这个:

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

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

function1() {

      ....

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

function2() {

     ....
}
function1(){
....
function2()/请尝试以下操作:

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

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

function1() {

      ....

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

function2() {

     ....
}
function1(){
....

function2()//或查看下面的帖子了解顺序函数执行
:)
我估计他/她是针对function1()然后function2()执行的。B-)或查看下面的帖子了解顺序函数执行
:)
我估计他/她是针对function1()然后function2()的执行。B-)如果你想在第一次呼叫前后2秒钟,这很好。这不是真正的顺序。你的帖子也不符合OP的要求。艾哈迈德有一个更好的解决方案,考虑到我对回叫的评论。@Archer哦,你投了反对票lol?真的,我认为这篇帖子很好,不值得投反对票!干杯!它没有回答问题。这怎么不值得投反对票?当然没有更好的理由投反对票了。@Archer ha ha okies,酷男人,不要争论,伙计!冷静点!如果你想解决问题,你可以提供解决方案。男人
:)
另请看我的第二个答复,即或选项,如果你想在第一次通话前后两秒钟就可以了。它“这不是真正的顺序。你的帖子也不符合OP的要求。考虑到我对回调的评论,艾哈迈德有一个更好的解决方案。@Archer哦,所以你投了lol?真的,我认为这篇帖子很好,不值得投下任何一票!干杯!它没有回答问题。这怎么不值得投下一票?当然有。”没有更好的理由投反对票。@Archer ha ha okies,冷静点,不要争论,伙计!冷静点!如果你想的话,你可以提供解决方案。
:)
另请参见我的第二个回复,即或选项,