可以使用参数作为动画属性名
Possible to use a parameter as an animate property name?
我试着做一个搜索-也许我的术语是off,但我找不到答案。我试图使一个插件,我可以通过一个函数传递css属性名称。这就是我所拥有的,但它只有在我用实际的属性名称替换参数时才能工作…
http://jsfiddle.net/2Cq6S/1/(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插件方法中,this
已经是宿主jQuery对象,因此您不必将其包装在$(this)
中以使用它作为jQuery对象。
相关文章:
- 对象获胜'如果qml中的其他地方定义了数字动画属性,则t设置动画
- 在jquerymobile中设置按钮css属性的动画
- Jquery scrollTop动画不工作"无法读取属性'top'无风
- 速度.js动画两个属性时持续时间不同
- jQuery动画背景大小属性
- 使用jQuery通过更改src属性来设置一个图像标签的动画
- 在动画开始之前更新animate属性
- css3动画使用html5数据属性
- 补间最大动画 无法分配给只读属性“_gsTweenID”
- 是否可以将动画与 jQuery 中的属性一起使用
- CSS3 关键帧动画是否比属性过渡更平滑?
- 可以将元素属性更改作为动画链的一部分
- 在同一持续时间内对两个属性进行动画处理
- 如何使用 jquery 对缩放 css 属性进行动画处理
- 平滑地动画属性改变到3000个拉斐尔对象一次
- 改变在IE 11中不工作的DIV的旋转速度,使用JS来更新CSS动画属性
- 可以使用参数作为动画属性名
- 如何控制css3动画属性'animation-duration'与jQuery
- jquery中的CSS动画属性
- ReactNative 活动指示器在动画属性启动 false 时不显示