Mootools에서 delay라는 지연 함수의 고급 사용법

1814 단어 mootools
이것은 가장 간단한 용법이다.
(function(){
  alert('one second later...');
}).delay(1000);

이 함수는 1초 후에 자동으로 실행된다
delay라는 함수의 실현 방법을 봅시다.
delay: function(delay, bind, args){
  return setTimeout(this.pass((args == null ? [] : args), bind), delay);
}

이것은 set Timeout을 사용하여 이루어진 것이 분명하다. 그러면 우리는 그를 정리할 수 있고 다음은 실현 방법이다.
var Fun=function(msg){
    alert('fd');
};
var
timer=Fun.delay(5000);
// timer
clearTimeout(timer);

 
다음은 그의 고급 용법을 말해 보겠습니다.
var Fun=function(msg){
alert(typeOf(this))//
alert(this.get('tag')+'|'+msg);//
};
//2 Fun, id='tab1' Fun this $('tab1'),
Fun.delay(2000,$('tab1'),' ');

이 코드의 뜻은 2초 지연된 다음에 Fun이라는 함수를 실행하는 것이다. Fun이라는 함수는 내가this를 사용했기 때문에 기본적인 상황에서this가 대응하는 대상은 윈도우 대상이다. 그러나 나는 이 함수가 어떤 노드를 조작할 수 있기를 바란다. 그래서 나는 노드에 대한 귀속을 그에게 전달하고 msg를 전달한다. 이때 함수에서this를 사용하면 대상이 더 이상 윈도우가 아니라 내가 그에게 귀속된 이 노드의 대상이 된다.

좋은 웹페이지 즐겨찾기