那可能应该这样做:
$.pep.stopAll(); // stops all peps
编辑:
在代码中有一个可以在实例对象上调用的函数:
Pep.prototype.forceStop = function(){
$(this.el).trigger( this._endTrigger );
};
该实例在此处构建并保存到数据属性中:
// 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() {};