当前位置:嗨网首页>书籍在线阅读

25-解决方案

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

12.6.2 解决方案

利用秘诀12.4开始介绍的插件设计模式,在用于包装插件的匿名函数中可以正常定义私有函数。因为私有函数处于匿名函数内部,所以外部代码无法看到它。外部代码只能看到附加到jQuery对象中的函数或者方法。

;(function($) {
  $.fn.pulse = function(options) {
   //合并传入选项和默认选项
   var opts = $.extend({}, $.fn.pulse.defaults, options);
   return this.each(function() {
     doPulse($(this),opts);
   });
  };
  function doPulse($obj,opts) {
   for(var i = 0;i<opts.pulses;i++) {
     $obj.fadeTo(opts.speed,opts.fadeLow).fadeTo(opts.speed,opts.fadeHigh);
   }
   //重置为正常值
   $obj.fadeTo(opts.speed,1);
}
  // 跳动插件默认选项
  $.fn.pulse.defaults = {
   speed: "slow",
   pulses: 2,
   fadeLow: 0.2,
   fadeHigh: 1
  };
})(jQuery);