2017-08-12 53 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添加底部,然後直接調用它。在這個函數中,你做了一些有趣的事情,但是我確信你想做的任何事情都可以做得更簡單。如果您希望獲得幫助,請說明您正在嘗試做什麼。