MooTools - 定期执行



MooTools 提供了一个支持定期执行的功能。通过这个功能,它可以以相同的频率周期性地调用一个函数。让我们讨论一下定期执行的方法和特性。

periodical()

此方法用于以相同的频率周期性地执行一个函数。在开始之前,我们需要定义一些内容。一个是你要定期运行的函数,另一个是数值,表示你希望函数执行的频率(以毫秒为单位的数值)。让我们来看一个例子,解释如何使函数每 100 毫秒执行一次。请看下面的代码。

示例

<!DOCTYPE html>
<html>

   <head>
      <script type = "text/javascript" src = "MooTools-Core-1.6.0.js"></script>
      <script type = "text/javascript" src = "MooTools-More-1.6.0.js"></script>
      
      <script type = "text/javascript">
         var periodicalFunction = function(){
            document. writeln("www.tutorialspoint.com");
         }
         
         window.addEvent('domready', function() {
            //number at the end indicates how often to fire, measure in milliseconds
            var periodicalFunctionVar = periodicalFunction.periodical(100);
         });
      </script>
   </head>
   
   <body>
   </body>
   
</html>

你将收到以下输出:

输出

元素作为第二个变量

periodical 函数还绑定了一个位于 domready 函数() 之外的第二个变量。你可以将元素作为第二个变量绑定到要定期执行的函数中。请看下面的语法,了解如何传递变量。

语法

window.addEvent('domready', function() {
   //pass something to a var
   var passedVar = $('elementID');
   
   //now periodicalFunction will be able to use "this" to refer to "passedVar"
   var periodicalFunctionVar = periodicalFunction.periodical(100, passedVar);
});

这里,passedVar 是一个保存 html 元素的元素变量。该变量作为第二个变量传递给 periodical 函数 periodicalFunctionVar

$clear()

此方法用于停止 periodical 函数。此方法有助于重置 periodical 变量的值。请看下面的语法,了解如何使用 $clear() 函数。

语法

//we clear the var that we passed the function and periodical to
$clear(periodicalFunctionVar);
广告