2017-08-12 23 views
-6

我想写一个plugin.my jQuery并不好,我读了很多例子,我的英文不好......所以我不太了解它们。 请帮助我,如果你能解释简单。如何用setInterval编写插件

这里是我的代码:

HTML:

<div class="coming back-countdown"> 
     <h1>WWW.<span id="spin">STACKOVERFLOW</span>.COM</h1> 
    </div> 

javacript:

; 
(function($) { 
    $fn.myPlugin = function() { 
     var settings = $.extend({ 
      beforeStop: 2000; 
      betweenStop: 500; 
      charChangeInterval: 100; 
     }); 

     function repeat() { 
      var $this = $(this); 
      var origText = $this.text(), newText = ''; 
      var myArr = origText.split(""); 
      var text = origText.split(""); 
      for (i = 0; i < text.length; i++) { 
       var handle = setInterval(function (i) { 
        myArr[i] = String.fromCharCode(Math.random() * 26 + 65); 
        $this.text(myArr.join("")); 
       }, charChangeInterval, i); 
       setTimeout(function (handle, i) { 
        clearInterval(handle); 
        myArr[i] = text[i]; 
        $this.text(myArr.join("")); 
       }, i * betweenStop + beforeStop, handle, i); 
      } 
     } 
     repeat(); 
     setInterval(repeat,20000); 
    }; 
}(jQuery)); 
+0

什么是具体问题和问题? – charlietfl

+0

它不工作。我不知道如何通过defaults.and我不知道这是调用一个函数和使用setinterval的正确方法。 – tahmina

回答

0

对有默认设置,并允许用户覆盖他们,看看如何做到这一点在这里: https://learn.jquery.com/plugins/advanced-plugin-concepts/

调用您创建的插件使用:

$.myPlugin({beforeStop:1000}); // running the plugin and overriding beforeStop 

然后你有一个重复功能。直接通过setInterval添加底部,然后直接调用它。在这个函数中,你做了一些有趣的事情,但是我确信你想做的任何事情都可以做得更简单。如果您希望获得帮助,请说明您正在尝试做什么。