0

プラグインjQueryの前後にコールバックオプションを作成する方法???

$('#slide').myPlugin({
   onBefore:function(){
      alert('Start slide images');
   },
   onAfter:function(){
      alert('End slide !');
   }
});

デモを手伝ってください!

4

2 に答える 2

0

プラグイン コードの構造に完全に依存します。最も単純なケースは次のとおりです。

(function($) {

  // Constructor
  var MyPlugin = function(element, options) {
    this.element = element
    this.options = options
    // ...
  }

  MyPlugin.prototype.slide = function() {
    this.options.onBefore && this.options.onBefore.call(this)
    // Do your stuff
    this.options.onAfter && this.options.onAfter.call(this)
  }

  // Default options
  var defaults = {}

  // jQuery chainable
  $.fn.myPlugin = function(options) {
    options = $.extend(defaults, options);

    return this.each(function() {
      $(this).data('myPlugin', new MyPlugin(this, options))
    })
  } 

}(jQuery))

ただし、この種の関数には (コールバックではなく) イベントを使用することをお勧めします。

于 2013-07-23T15:21:23.550 に答える