我是一个JQuery新手,当我阅读Jquery书时,我遇到了这个jquery插件示例代码。
//adding a function to JQuery object
jQuery.slowEach = function( array, interval, callback ) {
if( ! array.length ) return;
var i = 0;
next();
function next() {
if( callback.call( array[i], i, array[i] ) !== false )
if( ++i < array.length )
setTimeout( next, interval );
}
return array;
};
//attaching a new method .slowEach()
jQuery.fn.slowEach = function( interval, callback ) {
return jQuery.slowEach( this, interval, callback );
};
// Show an element every half second
$('.reveal').slowEach( 500, function() {
$(this).show();
})
我只是想知道在编写这样的方法插件时是否有必要编写函数插件,这意味着什么?如果没有,我可以在没有函数插件的情况下在jQuery.fn.slowEach方法中编写整个内容吗?
谢谢!
答案 0 :(得分:3)
如果我没错,在jQuery.fn
中编写函数/方法,你就可以在所有jQuery对象上使用它,因为.fn
是{{1}的某种快捷方式。 jQuery的。您可以这样做,但您需要更改原始代码中的某些内容(例如,您需要使用prototype
作为this
变量)。通过这种方式,您将能够这样做:
array
将插件写入//select a DOM element and apply the plugin on it
$('.reveal').slowEach( 500, function() {
$(this).show();
});
使其无需jQuery元素即可访问。这意味着您将能够执行以下操作:
jQuery.yourplugin