2016-11-25 7 views
0

defaultOptions.startCountの値には$.fn.count(10).defaultOptions.startCount を使用していますが、コンソールの表示Cannot read property 'startCount' of undefinedを使用してアクセスしたいと思います。 startCount値を記録するには?

<div id="counter1"></div> 
<div id="counter2"></div> 
(function($) { 
    $.fn.count = function (counter_init) { 
     defaultOptions = { startCount: counter_init } 

     return this.each(function() { 
      var $this = $(this); // Sets the counter start number to zero.    
      $this.text(defaultOptions.startCount + ''); 
      var myInterval = window.setInterval(function() { 
       var currentCount = parseFloat($this.text()); 
       var newCount = currentCount + 1; $this.text(newCount + ''); 
      }, 1000); 
     }); 
    }; 
})(jQuery); 

jQuery('#counter1, #counter2').count(25);  
console.log($.fn.count(10).defaultOptions.startCount); 
+0

'this.defaultOptions = {startCount:counter_init}'! –

答えて

-1

あなたは$.fn.count(10).defaultOptions.startCountを使用することはできません。 defaultOptionsではないので、のメンバーは$.fn.countです。

this.variable_nameを使用すると、関数に変数を追加できます。

my_function = function() 
{ 
    this.variable_1 = 1; 
    variable_2 = 2; 
    var variable_3 = 2; 
} 

var my_object = new my_function(); // create new object to access variables 
console.log(my_object.variable_1); // 1 
console.log(my_object.variable_2); // undefined 
console.log(my_object.variable_3); // undefined 

ワーキングコード

<script> 
(function ($) { 
$.fn.count = function (counter_init) { 
    this.defaultOptions = { startCount: counter_init} 

    return this.each(function() { 
     var $this = $(this);    // Sets the counter start number to zero.    
     $this.text(this.defaultOptions.startCount + ''); 
     var myInterval = window.setInterval(function() { var currentCount = 
parseFloat($this.text()); var newCount = currentCount + 1; $this.text(newCount + ''); }, 1000); 
    }); }; 

})(jQuery); 
jQuery('#counter1, #counter2').count(25);  
console.log($.fn.count(10).defaultOptions.startCount); 

+1

ようこそスタックオーバーフロー!このコードスニペットは問題を解決するかもしれませんが、[説明を含む](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)は本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。あなたのコードに説明的なコメントを詰め込まないようにしてください。これは、コードと説明の両方の可読性を低下させます! –

+0

あなたのガイドラインのおかげで:) –

関連する問題