-1

次のように単純化されたパラメーターを持つ乗算関数があります。

    function f1(p1,p2){
        alert('Function one is P1:'+p1+' P2:'+p2);        
    }
    function f2(p1,p2){
        alert('Function two is P1:'+p1+' P2:'+p2);
    }

これらを発射する必要があるのは、間に遅延のあるシーケンスです。ただし、jQuery はパラメーターを使用して関数を実行することを嫌うことがわかりました。私は .click 関数を試しました。

$.delay(1000).click(f1('One',false)).delay(1000).click(f2('One',false));

しかし、遅延によりクリック機能が機能しなくなります...

4

4 に答える 4

9

単純なタイムアウトを使用します。

f1("one", false);
setTimeout(function() { f2("one", false); }, 1000);
于 2012-08-02T16:42:51.320 に答える
0
$.delay(1000).click(function(){f1('One',false);}).delay(1000).click(function(){f2('One',false);});

クリックが何のためにあるのかわからないが...

于 2012-08-02T16:45:05.850 に答える
0

関数呼び出しを遅らせたい場合は、setTimeout()を使用するのがはるかに簡単な方法です。

例://順次遅延実行のためにネストされたsetTimeoutで呼び出すsetTimeout(function(){

 f1('One',false);
  setTimeout(function(){
    f1('One',false)
  },300)
},300)
于 2012-08-02T16:46:09.177 に答える
0
function fn1()
{
    alert(1);
}
function fn2()
{
    alert(2);
}
var arr=[fn1,fn2];
var len=arr.length;
var time=1000;
for(var k=0;k<len;k++)
{
    (function(k)
    {
        setTimeout(arr[k],time);
    }(k))
    time=time*2;
}

1秒遅れて実行! デモ

于 2012-08-02T16:55:36.260 に答える