2013-02-02 5 views
0

함수를 다른 함수로 전달하고 특정 순간에 다른 스크립트에서 호출하는 방법은 무엇입니까?함수를 매개 변수로 전달

parallaxElements(container,function(){ alert(123); }); 
: 내가 전달 기능이
  return operacija; 
      };   
     }, parallaxTiming); 
    } 

를 호출하고 다음과 같이 함수를 호출 할 것으로 예상 WHERE

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

이것은 : 예를 들어 나는 같은 것을 할 싶습니다

어떤 도움이 더 유용 할 것입니다. 모든 답변에 미리 감사드립니다.

+2

'operacija()', 나는 ... 여기에 대한 답변을 – elclanrs

+0

감사 문제를 이해하지 않는다 , 정확하게 내가 찾고 있었던 것! – hjuster

답변

4

그냥 operacija()를 호출합니다.

리틀 데모 코드 :

var foo = function(operacija) { 

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

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

제 의견으로는 함수를 함수로 반환하지만 실행 결과는 반환하지 않습니다.

이 시도 :

return operacija.call(); 
+0

[Function.prototype.call()] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/call)에서는 컨텍스트 개체를 첫 번째 인수로 전달해야합니다 (예 : operacija.call (this))'), 당신이 무시한; 문맥을 지정할 필요없이 함수를 호출하는 것은'.call()'호출을 필요로하지 않고 @elclanrs와 @CyrilleKarmann이 지적한 것과 같이 간단한'operacija()'호출을 요구한다. – lanzz

+0

'call'을 사용하는 것은 드문 일이지만 정확한 것은 아니며 작동합니다. – bfavaretto

2

변경 return operacija;return operacija();

당신은 그냥 전화를해야
관련 문제