0

関数を別の関数に渡し、特定の瞬間にその別のスクリプトで呼び出すにはどうすればよいですか?たとえば、私は次のようなことをしたいと思います。

var interval;   
var parallaxElements = function(elementSet,operacija){
    clearInterval(interval);
    var parallax = [];
    if(elementSet!=null){
        elementSet.find(".parallax").each(function(index) {
            parallax.push($(this));
        }); 
    }   
    parallaxTiming = 30;
    parallax = _.shuffle(parallax);

    interval = setInterval(function(){
        var elem = parallax.shift();        
        if(typeof(elem)!="undefined"){
             elem.stop().transition({
                y: "0px",
                z: "0px",
                duration:"850ms"
             })  
        }else{
            clearInterval(interval);

これは、渡された関数が呼び出されることを期待する場所です

            return operacija;
            };          
        }, parallaxTiming); 
    }

そして、次のように関数を呼び出します。

parallaxElements(container,function(){ alert(123); });

どんな助けでももっと役に立ちます。すべての回答を事前に感謝します。

4

3 に答える 3

4

だけお電話operacija()ください。

小さなデモコード:

var foo = function(operacija) {

  interval = setInterval(function(){
    clearInterval(interval);
    return operacija();
  }, 1000);
};

foo(function() { alert("123"); } );
于 2013-02-02T22:49:18.700 に答える
2

return operacija;に変更return operacija();

于 2013-02-02T22:49:36.230 に答える
0

私の意見では、関数を関数として返すだけで、実行の結果は返しません。

これを試して:

return operacija.call();
于 2013-02-02T22:48:03.910 に答える