2017-09-08 4 views
0

VelocityのProgress Functionの中で、自分のPluginのPublicメソッドにアクセスしたいと思います。しかし、私はそれがアクセスプラグインPublicメソッドin Velocity Plugin

の作業を取得することはできませんこのメソッドは、このプラグインはまた、私はシーク機能にアクセスする必要があり、この時点で一部のパブリックメソッド

$.fn.feedseed = function (options) { 
    // default settings 
    var settings = $.extend({ 
     element: this, 
     stage: '', 
     stageElm: '', 
     id: 0, 
     x: 0, 
     y: 0, 
     width: 0, 
     startX: 0, 
     scale: 1.0, 
     speed: 100 
    }, options); 

    // some more code here... 

    // Public Function 
    this.play = function() { 
     if (!OBJ.isRunning) { 
      OBJ._then = Date.now(); 
      frame(); 
      OBJ.isRunning = true; 
     } 
     return this; 
    }; 

    // Public Function 
    this.pause = function() { 
     cancelAnimationFrame(OBJ.rafid); 
     OBJ.isRunning = false; 
     return this; 
    }; 

    this.seek = function (multiplier) { 
     settings.speed = settings.speed * multiplier; 
     return this; 
    }; 
}; 

を返すパブリック関数を持つ要素

var animateFeed = function (ms) { 
    var i = 0; 
    var animationInterval = setInterval(function() { 
     if (_tempelements.length > 0) { 
      var shiftedElement = _tempelements.shift(); 

      shiftedElement.feedseed({ 
       stage: '.socialfeeds', 
       stageElm: '.feed-post', 
       id: i++, 
       y: helper.randInt(0, 150), 
       speed: helper.randInt(20, 120), 
       scale: helper.randFloat(0.4, 1.01) 
      }); 
      socialfeedObject.push(shiftedElement); 
     } 
    }, ms); 
}; 

を作成します私のプラグインをVelocityの中に入れますが、これをどうやって動かすのですか?

$('.speedup').on('click tap', function() { 
    for (var i = 0; i < socialfeedObject.length; i++) { 
     socialfeedObject[i].velocity({ 
      tween: [1, 200] 
     }, { 
      duration: 600, 
      easing: 'easeOutQuad', 
      progress: function(elements, complete, remaining, start, tweenValue) { 
       // ? 
      } 
     }); 
    } 
}); 

答えて

0

これが表示されます。 Publicメソッドをこのように設定すると、今のところ私のために動作します。

$.fn.feedseed.seek = function (multiplier) { 
    // do something 
};