2014-06-05 4 views
0
(function(w,d,u){ 
    var k = function(cb){ 
     window.addEventListener('scroll',function(cb){ 
      var scrll = this.scrollY; 
      if(cb){ 
       cb.call(this,scrll); 
      } 
     },false); 
    }; 
    return (window.scrollex=k); 
})(this,document); 

이 서비스를 실행하면 전혀 작동하지 않습니다. 내가 계속 정의되지 않은 것은 함수가 아니며, 왜 그런가요? 이벤트 리스너 내부에 뭔가있는 것과 관련이 있습니까? 아니면 함수 내부의 논의를 통과 했습니까? 그것은 내가 eventListener 내부에서 문제를 겪고있는 것처럼 보였습니다.윈도우 용 이벤트 리스너 내부 콜백이 작동하지 않습니다.

누구든지이 문제에 대해 저를 계몽시킬 수 있습니까?

실생활 예

scrollr('element',{ 
    max:500, 
    min:400, 
    swing:50, 
    name:"custom_event", 
    dir:"left", 
    trigger:"mousemove || scroll" 
},function(t,a,c){ 
    //t returns an object 
    //a returns the current position of the trigger if it is a mousemove or scroll 
    //c returns a boolean, which is if the element is inView of the viewport 
    }); 
+0

CB 이벤트 객체가 될 것입니다 않습니다. – epascarello

답변

1
window.addEventListener('scroll',function(cb){ <--cb is an event object 

을 바탕으로 변수

window.addEventListener('scroll',function(){ 

============

제거하여 의견, 전화가 필요 없다고 생각합니다.

,
cb.call(this,scrll); 

cb.(scrll); 
+0

좋아요. 시도해 볼게요.하지만 문제가 없었어요. 그것은 내 실제 IIFE 코드 내부에 문제를 제공하는 것, 그래서 좀 더 디버깅을 할 수 있습니다. – EasyBB

+0

정말이 범위로 범위가 필요합니까 ??? – epascarello

+0

내가 보여준 것의 사용은 정확히 당신이 보는 것이 아닙니다. 나는 당신에게 그것의 진짜 예를 드리겠습니다. – EasyBB