【发布时间】:2011-01-13 15:50:49
【问题描述】:
我正在构建我的第一个 jQuery 插件(这只是一个简单的实验)。这是我目前所拥有的:
(function($){
$.fn.extend({
auchieFader: function(options) {
var defaults = {
mask: '',
topImg : '',
}
var options = $.extend(defaults, options);
return this.each(function() {
var o = options;
var obj = $(this);
var masker = $(o.mask, obj);
masker.hover(function () {
$(o.topImg).stop().animate({
"opacity": "0"
}, "slow");
}, function () {
$(o.topImg).stop().animate({
"opacity": "1"
}, "slow");
});
});
}
});
})(jQuery);
然后我使用以下方法调用插件:
$('.fader').auchieFader({mask: ".mask", topImg: ".top"});
如果我再添加另一个请求说:
$('.fader2').auchieFader({mask: ".mask", topImg: ".top"});
然后,无论我悬停的 2 个推子的哪个实例,它们都会触发。我知道这是因为我的掩码掩码和 topImg 选项具有相同的类 - 但是如何修改插件以允许这些项目具有相同的类?我知道这可能是一件非常简单的事情,但总的来说,我仍然在寻找使用 jQuery 和 Javascript 的方法。任何其他关于改进我的代码的提示也将不胜感激!
干杯, 克里斯
【问题讨论】:
-
不看你的标记是不可能知道的。
.mask在.fader里面吗?
标签: javascript jquery plugins jquery-plugins