jquery - 使用三元运算符更改 CSS/animate propertyName

标签 jquery css properties jquery-animate ternary-operator

我们如何使用三元运算符更改 propertyName/s?

例如:

var horizontal = false,
    propertyName = horizontal ? 'left' : 'top';

$(".elem").css({
    propertyName: value
});

我找到了一些答案,但它们不适合我的情况。

https://stackoverflow.com/a/5973518/1250044

https://stackoverflow.com/a/12228404/1250044


Praveen Kumar找到了一种可能性。但仍然没有决赛!

好的,我认为最好的答案是,如爆丸Explosion Pills说:

var horizontal = false;

$(".elem").css(horizontal ? {
    left: 10
} : {
    top: 10
});

生活为Fiddle .

最佳答案

在以字面量表示法声明对象时不能计算变量。

相反,你可以直接这样给它:

elem.css((horizontal ? 'left' : 'top'), value);

fiddle :http://jsfiddle.net/YXyng/

关于jquery - 使用三元运算符更改 CSS/animate propertyName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12853325/

相关文章:

java - 使用反射动态保存一个类中的所有字段? ("<FieldName>","<FieldValue>")

java - 有没有办法将属性文件中的所有属性作为 JVM 参数传递?

javascript - 如何对AJAX请求返回的JSON格式数据进行排序?

javascript - 在 modal/div 中显示 ajax 响应 - 当响应为网页形式时

css - 设置机车引擎出了可怕的错误

javascript - 单击菜单项之一时菜单下拉

javascript - 在页面加载时运行 Jquery 函数,而不是在图像单击时运行

javascript - 从数据库中随机调用图库图像,间隔重叠

jquery - 无论如何要在 jQuery 事件上向元素添加 css3 过渡动画

java - 按对象属性值查找