2013-03-11 53 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); 

解决方案:

这里是工作的代码。问题在于整个插件在超时中被封装。解决方案只包装实现该插件的行。谢谢@adeno的答案!

(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

_but没有luck._ - 那是什么意思?控制台说什么? – ShuklaSannidhya 2013-03-11 03:34:53

+0

这意味着我无法得到这个工作。你知道什么是错的吗? – mc0117 2013-03-11 03:36:21

+0

你不能在一个setTimeout中包装一个jQuery插件,甚至是什么? – adeneo 2013-03-11 03:42:59

回答

3

的setTimeout具有以下特征:

setTimeout(function, timeout_in_ms); 

在您的代码,您有:

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

所以它甚至不是语法正确

+0

好的,谢谢!那么,我将如何实现setTimeout效果呢? – mc0117 2013-03-11 03:42:28

+0

将所有语句包装在另一个函数中。 – ShuklaSannidhya 2013-03-11 03:43:32

+3

@ mc0117如果你能解释代码应该完成什么,它也会有所帮助。 – 2013-03-11 03:43:54