我做了这个简单的 jQuery 扩展:
(function($)
{
$.fn.extend({
animateleft: function(amount) {
$().animate({
left: amount
}, 300, function() { });
return $();
}
});
})(jQuery);
我知道通过返回 $() 它可以启用链接。但是我不知道 $() 中到底包含什么。当我尝试以下操作时,动画功能似乎没有被触发:
$('#container').animateleft("+=300");
如果 $('#container') 是作为 $() 传递到扩展中的内容,我认为应该可以工作。
最佳答案
在插件方法内,所选元素由 this
引用。所以应该是:
(function($) {
$.fn.extend({
animateleft: function(amount) {
this.animate({
left: amount
}, 300, function() { });
return this;
}
});
})(jQuery);
$()
只是调用不带参数的 jQuery 函数,该函数返回一个新的(空)jQuery 对象。
关于javascript - 使用 fn.extend 扩展 jQuery 的基础知识 - 访问成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6380160/