21-解决方案
12.5.2 解决方案
jQuery本身使用 $ 函数作为jQuery对象的自定义别名。当jQuery设置为兼容模式时,它将 $ 别名的控制权传回给定义 $ 的原始程序库。插件可以使用相同的技术。
将插件包装在一个匿名函数中并立即执行该函数, $ 快捷方式就保留在插件内部。插件之外的代码可以正常使用 $ 。在插件中, $ 将正常引用jQuery对象:
;(function($) {
$.fn.pulse = function(options) {
//将传入的选项与默认选项合并
var opts = $.extend({}, $.fn.pulse.defaults, options);
return this.each(function() {
// 跳动!
for(var i = 0;i<opts.pulses;i++) {
$(this).fadeTo(opts.speed,opts.fadeLow).fadeTo(opts.speed,opts.fadeHigh);
}
// 重置为正常值
$(this).fadeTo(opts.speed,1);
});
};
//跳动插件默认选项
$.fn.pulse.defaults = {
speed: "slow",
pulses: 2,
fadeLow: 0.2,
fadeHigh: 1
};
})(jQuery);