おそらくそれを行う必要があります:
$.pep.stopAll(); // stops all peps
編集:
コードには、インスタンス オブジェクトで呼び出すことができる関数があります。
Pep.prototype.forceStop = function(){
$(this.el).trigger( this._endTrigger );
};
インスタンスはここで構築され、data-attribute に保存されます。
// A really lightweight plugin wrapper around the constructor,
// preventing against multiple instantiations
$.fn[pluginName] = function ( options ) {
return this.each(function () {
if (!$.data(this, 'plugin_' + pluginName)) {
$.data(this, 'plugin_' + pluginName, new Pep( this, options ));
}
});
};
$('your-selector').data('plugin_pep').forceStop();
私はそれをやろうとしましたが、それは forceStop メソッドを呼び出しましたが、それを行うことにはなりませんでした。調査したところ、現在進行中のアニメーションを停止することだと思います。
今できることは、必要なときにオプションで指定できるドラッグメソッドをオーバーライドし、アニメーションがトリガーされたときにすぐに強制的に停止することです。
私はそれほど好きではありませんが、今コードを見ているので、別の方法でそれを行う可能性はありません(ここにドキュメントがありません;-()
これはうまくいくはずです:
var myPep = $('your-selector').data('plugin_pep');
myPep.options.drag = function(ev, obj) {
obj.forceStop();
};
edit2: 再度ドラッグ可能にしたい場合は、関数を空の関数で再度オーバーライドします。
myPep.options.drag = function() {};