我正在使用Jquery创建一些函数。 但是我遇到了问题。
function fader(elm,delaytime) {
elm.each(function(index){
$(this).css('visibility','visible').delay(delaytime*index);
$(this).fadeIn(1500);
});
}
fader($('.subImgs').children(),200);
很好,我想要更多。
$.fn.fader2 = function(elm,delaytime) {
elm.each(function(index){
$(this).css('visibility','visible').delay(delaytime*index);
$(this).fadeIn(1500);
});
}
$('.subImgs').children().fader2(200);
它不起作用。我知道有些不同但我找不到。 有人可以帮帮我吗?
答案 0 :(得分:2)
你的功能应该是:
$.fn.fader2 = function(delaytime) {
return this.each(function(index){
$(this).css('visibility','visible').delay(delaytime*index).fadeIn(1500);
});
}
工作小提琴(略微不同的代码以提高可见度):http://jsfiddle.net/2HMWF/
请参阅上述评论中的链接,以获取有关该主题的重要信息:http://docs.jquery.com/Plugins/Authoring
答案 1 :(得分:1)
您也可以尝试:
(function($) {
if (!$.myFader) {
$.extend({
myFader: function(elm, delaytime) {
return elm.each(function(index){
$(this).css('visibility','visible').delay(delaytime*index).fadeIn(1500);
});
}
});
$.fn.extend({
myFader: function(delaytime) {
return $.myFader($(this), delaytime);
}
});
}
})(jQuery);
这应该允许两者
$.myFader($('.subImgs').children(),200);
和
$('.subImgs').children().myFader(200);