将函数作为参数传递

时间:2013-02-02 22:43:04

标签: parameter-passing javascript

如何将函数传递给另一个函数并在特定时刻在其他脚本中调用它? 例如,我想做这样的事情:

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); });

任何帮助都会更有用。提前感谢所有答案。

3 个答案:

答案 0 :(得分:4)

只需致电operacija()

小演示代码:

var foo = function(operacija) {

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

foo(function() { alert("123"); } );

答案 1 :(得分:2)

return operacija;更改为return operacija();

答案 2 :(得分:0)

在我看来,你只是将函数作为函数返回,而不是它的执行结果。

试试这个:

return operacija.call();