Javascript 自定义jQuery插件
我很快编写了这个jquery插件。当我传递给它一个$element时,它会向上滑动,但随后它在这个.empty()上断开,声称这不是一个函数。有什么问题吗Javascript 自定义jQuery插件,javascript,jquery,Javascript,Jquery,我很快编写了这个jquery插件。当我传递给它一个$element时,它会向上滑动,但随后它在这个.empty()上断开,声称这不是一个函数。有什么问题吗 (function ( $ ) { $.fn.slideUpEmpty = function(t, callback){ this.slideUp(t, function(){ this.empty(); if(callback){ ca
(function ( $ ) {
$.fn.slideUpEmpty = function(t, callback){
this.slideUp(t, function(){
this.empty();
if(callback){
callback();
}
});
}
}( jQuery ));
使用
在
slideUp
回调中,此
引用DOM元素,如中所述:
回调不会发送任何参数,但此
设置为正在设置动画的DOM元素
因此,如果要对其调用jQuery方法,必须首先将其传递给jQuery:
$(this).empty();
这将在动画制作完成后清空每个元素,因为回调是针对每个选定元素执行的
如果要仅在所有动画制作完成后才清空它们,可以使用:
这只在所有元素完成动画制作后执行传递给
.done
的回调一次。在滑块p
回调中,此
指的是DOM元素,如下所述:
回调不会发送任何参数,但此
设置为正在设置动画的DOM元素
因此,如果要对其调用jQuery方法,必须首先将其传递给jQuery:
$(this).empty();
这将在动画制作完成后清空每个元素,因为回调是针对每个选定元素执行的
如果要仅在所有动画制作完成后才清空它们,可以使用:
这只在所有元素完成动画后执行传递给
.done
的回调一次。您是否尝试过$(This).empty()?否,因为我不明白为什么slideUp可以在jQuery插件方法中没有$()的情况下接受此回调,此
引用jQuery对象。在jQuery方法回调中,this
引用DOM元素。您尝试过$(this).empty()吗?没有,因为我不明白为什么slideUp在jQuery插件方法中没有$()就可以接受它,this
引用jQuery对象。在jQuery方法回调中,此
引用DOM元素。
this.slideUp(t).promise().done(function() {
this.empty(); // no `$(this)` here, `this` is already a jQuery object
});