2013-03-11 3 views
-3

이 코드에서 setTimeout 이벤트를 사용할 수 없습니다. 나는 다양한 구성에서 이것을 시도했지만 운은 없다. 누군가 내가 뭘 잘못하고 있다고 말할 수 있습니까?이 함수에 대한 setTimeout 이벤트가 작동하지 않습니다.

한 번에 "lorem ipsum"한 문자를 인쇄하려고하는데 시작하기 전에 몇 초 기다리고 싶습니다.

setTimeout(
    (function ($) { 
     $.fn.writeText = function (content) { 
      var contentArray = content.split(""), 
       current = 0, 
       elem = this; 
      setInterval(function() { 
       if (current < contentArray.length) { 
        elem.text(elem.text() + contentArray[current++]); 
       } 
      }, 40); 
     }; 
    })(jQuery); 

    $("#description").writeText("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate."); 
, 3000); 

해결 방법 : 다음

는 작업 코드입니다. 문제는 전체 플러그인이 제한 시간 내에 포장 된 것이 었습니다. 해결책은 플러그인을 구현 한 줄만 감싸는 것이 었습니다. 답장을 보내 주셔서 감사합니다.

(function ($) { 
    $.fn.writeText = function (content) { 
     var contentArray = content.split(""), 
      current = 0, 
      elem = this; 
     setInterval(function() { 
      if (current < contentArray.length) { 
       elem.text(elem.text() + contentArray[current++]); 
      } 
     }, 40); 
    }; 
})(jQuery); 

setTimeout(function() { 
    $("#description").writeText("Lorem ipsum dolor sit amet, consectetur adipisicing elit,  sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate."); 
}, 3000); 
+0

도 문법적으로 정확하지입니다 - 그게 무슨 뜻이야? 콘솔에서 뭐라고 말합니까? – ShuklaSannidhya

+0

이것이 작동하지 않는다는 것을 의미합니다. 무엇이 잘못되었는지 압니까? – mc0117

+0

jQuery 플러그인을 setTimeout에 래핑 할 수 없으며 무엇이 중요할까요? – adeneo

답변

3

에서는 setTimeout은 다음과 같은 서명이있다 : 당신의 코드에서

setTimeout(function, timeout_in_ms); 

을, 당신은 :

setTimeout(
    statement; 
    statement; 
    statement; 
    , timeout_in_ms 
); 

그래서 더 luck._ _but

+0

네, 감사합니다! 그렇다면 어떻게 setTimeout 효과를 얻을 수 있을까요? – mc0117

+0

다른 모든 함수를 다른 함수로 묶습니다. – ShuklaSannidhya

+3

@ mc0117 코드가 무엇을해야하는지 설명 할 수 있다면 도움이 될 것입니다. –

관련 문제