我尝试进行搜索-也许我的术语不正确,但找不到答案。我正在尝试制作一个插件,可以在其中通过函数传递CSS属性名称。这就是我所拥有的,但是仅当我用实际的属性名称替换参数时,它才起作用...
(function($){
$.fn.clickPlugin = function(param){
$(this).animate({param:'100px'});
};
}(jQuery));
$('.click').click(function(){
$(this).clickPlugin('height');
});
Any help would be awesome
您必须使用obj[name]
语法为这样的属性使用变量名:
(function($){
$.fn.clickPlugin = function(param){
var obj = {};
obj[param] = '100px';
this.animate(obj);
};
}(jQuery));
工作演示:http : //jsfiddle.net/jfriend00/2q5m4/
要使用变量名,您必须为其分配代码。无法在静态对象声明中为属性使用变量名。因此,上面的代码创建对象,然后为该属性分配一行JS。
仅供参考,在jQuery插件方法中,FYIthis
已经是宿主jQuery对象,因此您不必将其包装起来$(this)
即可用作jQuery对象。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句